Estou estudando bastante C e ultimamente me deparei com um problema no qual eu ainda não encontrei solução, embora já postei em algumas comunidades do orkut e lista de discussão destinadas a estudo da linguagem C .
Segue o codigo !!!
++++++++++++++++++=====================++++++++++++++++++++++++++
#define MAX 4
#define STR 40
#include
int main (void)
{
struct aluno
{
char nome[STR];
int num_registro;
float nota1,nota2,nota3,media;
};
int cont;
struct aluno turma[MAX];
for(cont = 0; cont <= MAX; cont++)
{
puts("Entre com o nome do aluno:");
fgets(turma[cont].nome,STR,stdin);
puts("Entre com a primeira nota");
scanf("%f",&turma[cont].nota1);
puts("Entre com a segunda nota");
scanf("%f),&turma[cont].nota2);
puts("Entre com a terceira nota");
scanf("%f",&turma[cont].turma.nota3);
turma[cont].media = (turma[cont].nota1 + turma[cont].nota2 + turma[cont].nota3)/3.0;
printf("\nO aluno %s tem a seguinte media: %.2f",turma[cont].nome,turma[cont].media
}
for(cont = 0;cont < MAX;cont++)
{
printf("\nO aluno %s tem as seguintes notas durante o ano:",turma[cont].nome);
printf("\nPrimeira nota: %.2f",turma[cont].nota1);
printf("\nSegunda nota: %.2f",turma[cont].nota2);
printf("\nTerceira nota: %.2f",turma[cont].nota3);
printf("\n Média do aluno: %.2f",turma[cont].media);
}
}
O problema é que na primeira interação do primeiro laço a função fgets() funciona como o esperado, contudo as demais simplesmente essa função não é chamada... se alguem souber o porque antes de eu achar o motivo e querer me dizer o que há de errado se é um bug da função ou se é alguma coisa que eu estou fazendo errado... eu agradeço.....