点击查看代码
void write(struct STU stu[],int n,const char *filename){
int sum[n];
for(int i=0;i<n;i++){
sum[i]=stu[i].mt+stu[i].en+stu[i].ph;
}
float ave[n];
for(int i=0;i<n;i++){
ave[i]=(float)sum[i]/3;
}
FILE *file=fopen(filename,"w");
if (file == NULL) {
printf("无法打开文件 %s\n", filename);
return;
}
for (int i = 0; i < n; i++){
fprintf(file, "%d %s %d %d %d %d %.2f\n", stu[i].xh, stu[i].name, stu[i].mt, stu[i].en, stu[i].ph,sum[i],ave[i]);
}
fclose(file);
}
void read(const char *filename) {
FILE *file = fopen(filename, "r");
if (file == NULL) {
printf("无法打开文件 %s\n", filename);
return;
}
int xh, mt, en, ph, sum;
float ave;
char name[50];
while (fscanf(file, "%d %s %d %d %d %d %f", &xh, name, &mt, &en, &ph, &sum, &ave) == 7) {
printf("%d %s %d %d %d %d %.2f\n", xh, name, mt, en, ph, sum, ave);
}
fclose(file);
}