Ir ao conteúdo

C# Calculo media alunos e depois turma


Ir à solução Resolvido por Ansi C,

Posts recomendados

Postado

Preciso fazer um programa que leia 3 notas de 10 alunos e imprima a média de cada aluno e no final a média da turma, mas estou tendo problemas no cálculo das médias individuais, pois a média mostrada do segundo aluno é somada com a do primeiro, acontecendo o mesmo com os outros alunos, só dá certo a média da turma, se puderem me ajudar a resolver usando "do while, while ou for" (acho que usa o "do while" com o "for", mas como não está dando certo...) agradeço, por enquanto está assim:

 

            decimal notas = 0, mediaA = 0, mediaT;
            int n = 0;

            do
            {
                for (int i = 0; i < 3; i++)
                {
                    Console.WriteLine("Digite a sua nota " + i);
                    notas += Decimal.Parse(Console.ReadLine());
                }
                mediaA += notas / 3;
                
                Console.WriteLine("A média do aluno foi: " + mediaA);
                Console.WriteLine();

                mediaT = mediaA / 10;
                n++;
            }
            while (n < 10);

            Console.WriteLine("A média da turma foi: " + mediaT);
            Console.WriteLine();

            Console.ReadKey();

Postado

1) Dê a media do aluno, logo após ter pego suas notas, enquanto isso acumule suas notas para média da turma. 2) Dê a média na turma quando não mais tiver alunos para calcular média.

 

É no 1) quesito que você deve pensar logo, pois dando a média de um aluno A, não terá que se preocupar com o aluno A no final em que dará a média da turma. 

adicionado 12 minutos depois

Editado: No quesito 1) ficou tudo mal escrito, eu quero dizer lá que, entregue logo a média depois de pegar as 3 notas. 

  • Curtir 2
Postado

@Leonardo0308 Boa tarde, não entendi o que ele disse, pois a média individual para mim já está da forma como ele disse (logo após receber as 3 notas), testei se era colocando junto (dentro do for), mas ainda assim não deu certo

Postado

faltou aqui que não está acumulando para média da turma.

 

3 horas atrás, Th2y disse:

mediaT = mediaA / 10;

Pelo contrário, está atribuído a décima parte da última média A 🙊.

 
 
3 horas atrás, AnsiC disse:

Dê a media do aluno, logo após ter pego suas notas, enquanto isso acumule suas notas para média da turma

Não sei se você concorda que, para esse caso, a média_da_turma= soma_de_todas_as_notas / 30. Ou então é a:  média_da_turma= soma_de_todas_as_médias / 10.

  • Curtir 2
Postado
8 horas atrás, AnsiC disse:

faltou aqui que não está acumulando para média da turma.

 

Pelo contrário, está atribuído a décima parte da última média A 🙊.

 
 

Não sei se você concorda que, para esse caso, a média_da_turma= soma_de_todas_as_notas / 30. Ou então é a:  média_da_turma= soma_de_todas_as_médias / 10.

Mas já está assim, a mediaA é a média do aluno, e a médiaT é a média da turma, o problema está sendo que ele quando vai mostrar a segunda média do aluno mostra a média dele com a do anterior, mas o cálculo da média da turma está dando certo. E concordo que dá no mesmo os dois jeitos de calcular a média da turma.

Exemplo: quando mudo os parâmetros para calcular apenas de 3 alunos, e coloco apenas notas 10 para o primeiro, 9 para o segundo e 8 para o terceiro, mostra:

media do primeiro aluno = 10

media do segundo aluno = 19

media do terceiro aluno = 27

media da turma = 9

Postado

É isso que es estou falando, você não pode acumular as médias em média A, e querer depois disso exibir a média individual. Não tem como! 😂  Se você quer acumular em A, vai ter que exibir a individual em outra variável diferente de A.

  • Curtir 2
Postado
1 hora atrás, AnsiC disse:

É isso que es estou falando, você não pode acumular as médias em média A, e querer depois disso exibir a média individual. Não tem como! 😂  Se você quer acumular em A, vai ter que exibir a individual em outra variável diferente de A.

Certo, entendi o que você quis dizer, mas ainda assim, não sei como fazer para colocar essa nova variável, teria como exemplificar como eu deveria fazer? Tipo, se é para acumular em outra variável, onde exatamente coloco ela? Dentro ou fora do "for"? E o mais importante: com quais sinais? Desculpa por estar demorando para entender, mas ainda sou iniciante e vim aqui para tentar entender como funciona

  • Curtir 1
  • Solução
Postado
decimal	notas=  0,
	mediaA= 0,
	mediaT= 0;
int	n=      0;

do
{
  for (int i = 0; i < 3; i++)
  {
    Console.WriteLine("Digite a sua nota " + i);
    notas += Decimal.Parse(Console.ReadLine());
  }
  mediaA= notas / 3;

  Console.WriteLine("A média do aluno foi: " + mediaA);
  Console.WriteLine();
  notas= 0;

  mediaT += mediaA;
  n++;
}
while (n < 10);

Console.WriteLine("A média da turma foi: " + mediaT / n);
Console.WriteLine();

Console.ReadKey();

 

adicionado 0 minutos depois

Editado: nota= 0;

  • Curtir 1
  • Obrigado 1
Postado
2 minutos atrás, AnsiC disse:

decimal	notas=  0,
	mediaA= 0,
	mediaT= 0;
int	n=      0;

do
{
  for (int i = 0; i < 3; i++)
  {
    Console.WriteLine("Digite a sua nota " + i);
    notas += Decimal.Parse(Console.ReadLine());
  }
  mediaA= notas / 3;

  Console.WriteLine("A média do aluno foi: " + mediaA);
  Console.WriteLine();
  notas= 0;

  mediaT += mediaA;
  n++;
}
while (n < 10);

Console.WriteLine("A média da turma foi: " + mediaT / n);
Console.WriteLine();

Console.ReadKey();

 

adicionado 0 minutos depois

Editado: nota= 0;

Certo, obrigada pela paciência e também por me ajudar

  • Curtir 2

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!