Olá pessoal, sou novo no fórum, entrei na universidade esse ano no curso de Eng. Computação e de praxe já venho com meu primeiro post sendo uma dúvida. Vamos lá:
O código é esse
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *fin;
char nome[10][40];
float n1[10], n2[10], media[10], geral = 0;
int i, j;
fin = fopen("alunos.txt", "r");
for(i = 0; !feof(fin); i++){
fgets(nome, 40, fin);
fscanf(fin, "%f", &n1);
fscanf(fin, "%f", &n2);
fscanf(fin, "%f", &media);
geral += media;
}
for(j = 0; j <= i; j++){
printf("Nome do aluno: %s\n", nome[j]);
printf("Notas: %.2f %.2f\n", n1[j], n2[j]);
printf("Media do aluno: %.2f", media[j]);
printf("\n -------------------------------- \n");
}
printf("\n\nMedia da sala: %.2f", geral/10);
fclose(fin);
return 0;
}
E o problema é que quando o programa roda, ele imprime assim:
---------------------
Nome do aluno: nome
Notas: n1 n2
Media: media
---------------------
(tudo certo até então)
Nome do aluno: (VAZIO)
Notas: repete as de cima
Media: repete as de cima
----------------------
Nome do aluno: nome2
Notas: n1 n2 (novos)
Média: media (nova)
----------------------
(tudo certo novamente)
Nome do aluno: (VAZIO)
Notas: repete as de cima
Media: repete as de cima
----------------------
Media da sala: geral/10 (valor correto)
--
Sugestões?