#ifndef STUDENT_H
#define STUDENT_H
typedef struct Student {
char name[20];
int chinese;
int math;
int english;
int physical;
int chemical;
int biological;
} stu_t;
#endif
#include <stdio.h>
#include "student.h"
int main() {
FILE *fp = fopen("students.txt", "w");
if (fp == NULL) {
perror("Error opening file");
return -1;
}
stu_t students[] = {
{"zhangsan", 99, 100, 88, 90, 85, 90},
{"lisi", 78, 85, 82, 88, 80, 85},
{"wanger", 90, 95, 92, 98, 92, 95}
};
for (int i = 0; i < 3; i++)
{
fprintf(fp, "%s %d %d %d %d %d %d\n",students[i].name,students[i].chinese,
students[i].math,
students[i].english,
students[i].physical,
students[i].chemical,
students[i].biological);
}
printf("\n");
fclose(fp);
return 0;
}
#include <stdio.h>
#include "student.h"
int main()
{
FILE *fp = fopen("students.txt", "r");
stu_t arr[3];
int retval=0;
while(1)
{
for(int i=0;retval!=EOF;i++)
{
retval=fscanf(fp,"%s %d %d %d %d %d %d",
arr[i].name,
&arr[i].chinese,
&arr[i].math,
&arr[i].english,
&arr[i].physical,
&arr[i].chemical,
&arr[i].biological);
if(retval==EOF)
{
break;
}
}
}
fclose(fp);
for (int i = 0; i < 3; i++) {
printf("Name: %s\n", arr[i].name);
printf("Chinese: %d, Math: %d, English: %d, Physical: %d, Chemical: %d, Biological: %d\n",
arr[i].chinese, arr[i].math, arr[i].english, arr[i].physical, arr[i].chemical, arr[i].biological);
}
return 0;
}
IO学习(1)
于 2024-08-05 19:22:45 首次发布