- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C语言》实验报告
PAGE
PAGE - 7 -
-
《C语言》课内实验报告
学生姓名:郭晨华2015409010119及 学 号:学 院:理学院班 级:数学151课程名称:C语言实验题目:文件的应用指导教师
姓名及职称:邓冠男 副教授朱振菊 实验师
2016年06月23日
一、实验题目:文件的应用
二、实验目的:
1.进一步掌握与文件有关的概念。
2.熟悉对文件进行各种操作的函数的使用方法。
三、实验内容:
1.有n个学生,每个学生数据包括学号、姓名、性别、3门成绩、总成绩、平均成绩。从键盘输入n和n个学生的数据(总成绩和平均成绩可通过3门成绩算出),输入的n个学生的数据放入结构体数组a中。然后将学生数n和这n个学生的数据存储到名为stud.dat的二进制文件中。之后读入文件中的数据放到变量n1和结构体数组b中,输出数组b中的学生数据。编写源程序,给出注释及运行结果。
2.有6个学生,每个学生数据包括学号、姓名、3门课程的成绩和换行标志。可定义一个结构体数组存放这6个学生的数据:
struct student
{
int num;
char name[20];
int score[3];
char flag;
}a[6];
从键盘输入6个学生的数据,其中flag的值应为‘\n’。然后将这6个学生的数据分别写入名为stud1.txt的文本文件和名为stud2.dat的二进制文件中。编写源程序,给出注释及运行结果。
四、实验结果:
第一题
源程序及注解
#includestdio.h
#includestdlib.h
struct Student
{ char num[18];
char name[8];
char sex[8];
float score[5];
} a[3]; /*定义结构体并定义3个结构体变量*/
void save()
{ FILE*fp;
int i;
if((fp=fopen(stu.dat,wb))==NULL)
{printf(不能打开文件\n);
return;
}
for(i=0;i3;i++)
if(fwrite(a[i],sizeof(struct Student),1,fp)!=1)
printf(写入出错\n);
fclose(fp);
}
void main()
{ struct Student b[3];
struct Student term;
FILE*fp;
int i;
int j;
int k;
for(i=0;i3;i++) /*给3个结构体变量a[3]赋值*/
{ j=0;
printf(请输入第%d位学生的信息\n,i+1);
printf(学生学号:);
scanf(%s,a[i].num);
printf(学生姓名:);
scanf(%s,a[i].name);
printf(学生性别:);
scanf(%s,a[i].sex);
printf(科一成绩:);
scanf(%f,a[i].score[0]);
printf(科二成绩:);
scanf(%f,a[i].score[1]);
printf(科三成绩:);
scanf(%f,a[i].score[2]);
a[i].score[3]=0;
a[i].score[4]=0;
for(j=0;j3;j++)
a[i].score[3]=a[i].score[3]+a[i].score[
文档评论(0)