Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde,
Gostaria desde já agradecer pela ajuda, é o seguinte estou fazendo um exercício que pergunta a quantidade de alunos e lê quatro notas de cada aluno, para depois fazer a media e dizer quem passou ou não, meu problema é o seguinte o programa só passa uma vez pelo primeiro while, e não quantas vezes o usuário determina, bom é isso espero que me tenha fásido entender.
Grato mais uma vez,
Igor Matos
#include <stdio.h>
#include <stdlib.h>
main()
{
int aluno, i, j, menor, maior;
float nota ,media ;
aluno = i = j = menor = maior = nota = media = 0;
printf("Quantos alunos temos hoje? ");
scanf("%d",& aluno);
while(i < aluno)
{
i++;
while(j < 4)
{
j++;
printf("Digite a nota: ");
scanf("%f",¬a);
printf("%.2f\n",nota);
}
}
return 0;
}Igor
para fazer o programa funcionar você precisa resetar o valor do j para zero e criar duas variáveis para calcular a soma das notas dos alunos e da sala e depois suas medias.
total_sala=0;
while(i < aluno)
{
j=0;
i++;
total_aluno=0;
while(j < 4)
{
j++;
printf("Digite a nota: ");
scanf("%f",¬a);
total_aluno=total_aluno+nota;
}
media_aluno=total_aluno/4;
printf("%.2f\n",media_aluno);
total_sala=total_sala+media_aluno
}É isso mesmo, valeu pela ajuda Fernando Silva_152014 e GBecker.
Você não atribui 0 novamente ao j depois de passar a primeira vez pelo segundo while. Desta forma, o j será sempre maior que 4 a partir da segunda iteração do primeiro while.