【C语言】利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。编写程序将数据文件读入,且求出每个学生的平均成绩。

题目: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 }

 

程序运行结果:

 

posted @ 2018-06-09 20:59  ieblYang  阅读(6081)  评论(0编辑  收藏  举报