Ir ao conteúdo

C Média das notas da turma


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

Pessoal, preciso desenvolver um algoritmo em C que faça a média das notas dos alunos de uma turma.

As condições são: determinar o número de alunos e a nota de cada aluno. Minha dúvida é: como eu faço pra somar

as notas de todos os alunos sendo que elas não são armazenadas cada uma em uma variável?

 

Meu código está assim: 

 

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>

 

int main (){
    setlocale (LC_ALL, "");

 

    int alunos, nota, media, i=0;

 

        printf("Número de alunos: ");
        scanf("%d", &alunos);

 

        do{
        printf("Digite a nota: ");
        scanf("%d", &nota);
        i++;
        } while (i<alunos);

  • Obrigado 1
Postado

@Ezequias Rogério    pelo que eu entendi o enunciado diz para mostrar a média de cada Aluno de huma turma ,  e não somar a nota de todos os alunos da turma , e então você pode pegar a qtd de alunos e a qtd de notas , e colocar um loop com a qtd de alunos e outro dentro dele com a qtd de notas , e dentro desse segundo loop pega a nota e soma acumulando e armazena em uma variável  depois divide pela qtd de notas e obtém a média desse Aluno ,  e seu código poderia ser assim  :

#define _CRT_SECURE_NO_WARNINGS  // para usar scanf e outras funcoes no visual studio 
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
#include <Windows.h>
int main() 
{
    // setlocale(LC_ALL, "pt_BR"); talvez func no seu PC mas em outros não
    int   qtd_alunos,
          i = 0, qtd_notas;
          
    float media=0, nota,
          notas_total;
    printf("\n\tN%cmero de alunos --: ",163);
    scanf("%d", &qtd_alunos);
    printf("\tQtd de Notas ------: ");
    scanf("%d", &qtd_notas);
    do 
    {
        notas_total = 0;
        printf("\n");
        for (int j = 0; j < qtd_notas; j++)
        {
            printf("Digite a %d%c nota do %d%c Aluno --: ",j+1,166,i+1,167);
            scanf("%f", &nota);
            notas_total += nota;
        }
        media = (float)(notas_total / qtd_notas);
        printf("\nA M%cdia das notas do %d%c Aluno eh = %5.2f\n",130, i + 1,167, media);
        i++;
    } while (i < qtd_alunos);
    printf("\n\nAguarde 5 Segundos e fechar\n\n\n");
    Sleep(5000);
    system("taskkill/IM VsDebugConsole.exe");
    system("taskkill/IM cb_console_runner.exe");
    return 0;
}

ou usar vetores , que seria melhor .

  • Solução
Postado

@Ezequias Rogério   então  use mesmo a variável notas_total para ir  acumulando o total das notas e no final divide pela  ( qtd de Alunos * qtd de notas )

scanf("%d", &qtd_notas);
notas_total = 0;
do 
{
    // notas_total = 0;
    printf("\n");
       .
       .
}
// depois do Loop while
media = notas_total / ( qtd_notas * qtd_alunos );
printf("A media da turma eh --: %5.2f\n\n\n", media);

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!