題目:1.利用文本編輯軟件在磁盤上建立一個有n個學生的學號、姓名及英語、數學和計算機三門課程成績的數據文件。
2.編寫程序將數據文件讀入,且求出每個學生的平均成績。
過程:
文本編輯軟件就是記事本等等,我用的是notepad++,在此推薦大家可以裝一個notepad++寫代碼是真的方便快捷。
建立如下數據文件,文件名students.dat
*此處也可以建立成txt后綴的文件
下面是C語言代碼
1 #include<stdio.h> 2 #include<stdlib.h> 3 #define N 5 4 struct student{ 5 int num; 6 char name[10]; 7 float eng; 8 float mat; 9 float com; 10 }stu[N]; 11 int main(){ 12 FILE *fp; 13 int i; 14 float ave=0; 15 if((fp=fopen("C:\\Users\\root\\Desktop\\students.dat","r"))==NULL) 16 { 17 printf("Open file error!"); 18 exit(0); 19 } 20 for(i=0;i<N;i++) 21 { fscanf(fp,"%d",&stu[i].num); 22 fscanf(fp,"%s",&stu[i].name); 23 fscanf(fp,"%f",&stu[i].eng); 24 fscanf(fp,"%f",&stu[i].mat); 25 fscanf(fp,"%f",&stu[i].com); 26 //fread(&stu[i],sizeof(struct student),1,fp); 27 ave = (stu[i].eng + stu[i].mat + stu[i].com)/3; 28 printf("學號\t姓名\t平均成績\n"); 29 printf("%d\t%s\t%.2f\n",stu[i].num,stu[i].name,ave); 30 } 31 fclose (fp); 32 return 0; 33 }
程序運行結果: