Я хочу прочитать информацию, которую я сохранил в текстовом файле в созданной мной программе. но когда я хочу выполнить процесс чтения, читая, например, только первую строку информации об ученике, ученики 10 класса пишут одну и ту же информацию об ученике 10 раз в рамках программы. Я делаю операцию чтения в цикле for.
struct student{
char Name[30];
char Surname[30];
int StudentNumber;
int MathematicScore;
int EnglishScore;
int HistoryScore;
int BiologyScore;
int LiteratureScore;
int PhysicsScore;
int classNum;
int total;
float average;
};
/ * Процесс печати * /
FILE *fout;
fout = fopen("Mathematic Class.txt","w");
printf("Please enter student number of class : ");
scanf("%d", &x.classNum);
fprintf(fout, "Class Number : %d\n",x.classNum);
for(i=0; i<x.classNum; i++){
printf("Please Enter %d.Student Name : ",i+1);
scanf("%s",&x.Name);
printf("Please Enter %d.Student Surname : ",i+1);
scanf("%s",&x.Surname);
printf("Please Enter %d.Student Number : ",i+1);
scanf("%d",&x.StudentNumber);
printf("Please Enter %d.Student Score : ",i+1);
scanf("%d",&x.MathematicScore);
x.total = x.total + x.MathematicScore;
fprintf(fout, "\nStudent Name : %s %s Student Number : %d Student Score : %d\n", x.Name, x.Surname, x.StudentNumber, x.MathematicScore);
}
x.average = x.total / x.classNum;
fprintf(fout, "\n\nClass Average is : %f", x.average);
fclose(fout);
/* Reading process */
FILE *fin;
fin = fopen("Mathematic Class.txt","r");
fscanf(fin, "Class Number : %d\n\n%s %s %d %d\n",&x.classNum, &x.Name, &x.Surname, &x.StudentNumber, &x.MathematicScore, &x.average);
fclose(fin);
printf("Class Number : %d\n", x.classNum);
for(i=0; i<x.classNum; i++){
printf("Student Name : %s %s Student Number : %d Student Score : %d\n", x.Name, x.Surname, x.StudentNumber, x.MathematicScore);
}
printf("\n\nClass Average is : %f", x.average);