#include <stdio.h>
#define STUNUM 2
typedef struct Student{
char name[16];
int age;
double math_score;
double chinese_score;
double english_score;
double physics_score;
double chemistry_score;
double bio_score;
}Student;
int main(int argc, const char *argv[]){
Student arr[STUNUM];
FILE* rfp=fopen("./student.txt","r");
if(rfp==NULL){
perror("fopen");
return 1;
}
char c=fgetc(rfp);
if(c==EOF){
//初始化
for(int i=0;i<STUNUM;i++){
printf("请输入第%d位学生的信息:\n",i+1);
scanf("%s",arr[i].name);
scanf("%d",&arr[i].age);
scanf("%lf",&arr[i].math_score);
scanf("%lf",&arr[i].chinese_score);
scanf("%lf",&arr[i].english_score);
scanf("%lf",&arr[i].physics_score);
scanf("%lf",&arr[i].chemistry_score);
scanf("%lf",&arr[i].bio_score);
}
FILE* fp=fopen("./student.txt","w");
//学生信息存入文件内
for(int i=0;i<STUNUM;i++){
fprintf(fp,"%s ",arr[i].name);
fprintf(fp,"%d ",arr[i].age);
fprintf(fp,"%.2lf ",arr[i].math_score);
fprintf(fp,"%.2lf ",arr[i].chinese_score);
fprintf(fp,"%.2lf ",arr[i].english_score);
fprintf(fp,"%.2lf ",arr[i].physics_score);
fprintf(fp,"%.2lf ",arr[i].chemistry_score);
fprintf(fp,"%.2lf",arr[i].bio_score);
fprintf(fp,"\n");
}
fclose(fp);
return 1;
}
fclose(rfp);
rfp=fopen("./student.txt","r");
for(int i=0;i<STUNUM;i++){
fscanf(rfp,"%s",arr[i].name);
fscanf(rfp,"%d",&arr[i].age);
fscanf(rfp,"%lf",&arr[i].math_score);
fscanf(rfp,"%lf",&arr[i].chinese_score);
fscanf(rfp,"%lf",&arr[i].english_score);
fscanf(rfp,"%lf",&arr[i].physics_score);
fscanf(rfp,"%lf",&arr[i].chemistry_score);
fscanf(rfp,"%lf",&arr[i].bio_score);
}
fclose(rfp);
for(int i=0;i<STUNUM;i++){
printf("name=%s age=%d math_score=%.2lf chinese_score=%.2lf english_score=%.2lf physics_score=%.2lf chemistry_score=%.2lf bio_score=%.2lf\n",arr[i].name,arr[i].age,arr[i].math_score,arr[i].chinese_score,arr[i].english_score,arr[i].physics_score,arr[i].chemistry_score,arr[i].bio_score);
}
return 0;
}
IO进程线程Day1
最新推荐文章于 2024-06-15 23:36:03 发布