- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C程序设计》综合性实验
实验报告
题目: 学生成绩管理
姓名:
班级:
学号:
指导教师:
完成时间:
实验题目
学生成绩管理
实验目的
1. 掌握一维数组、二维数组的使用方法。
2. 掌握结构体数组的定义和使用。
3. 综合应用数据文件的读写语句保存结构体数组中的数据。
实验要求
有4个学生,每个学生有3门课的成绩,从键盘上输入以上数据,计算每个学生的平均分,并把这些信息(包括学号、姓名、班级、3门课的成绩及平均分)保存到一个文件(score.txt)中,并显示在屏幕上。
具体要求:
?定义结构体类型(student_type),其中包括学号(num[11])、姓名(name[8])、班级(class[20])、3门课成绩(score[3])和平均成绩(ave)。利用该结构体类型定义数组stud[4]。
?在主函数中输入学生学号、姓名、班级、3门课的成绩,并计算出平均成绩,然后调用save()函数将学生数据保存在score.txt文件中,调用display()函数读取score.txt文件,并将其中的内容显示在屏幕上。
?定义保存文件函数save()和显示文件函数display()。
四、程序流程图
定义student_typ
定义student_type,
定义save函数和display函数
定义save函数和display函数
开始
开始
定义变量int
定义变量int
输出
输出Please enter data of student:
定义for循环语句
定义for循环语句
输入学生的姓名、学号、班级、三门课的分数
输入学生的姓名、学号、班级、三门课的分数
求出学生的平均分ave
求出学生的平均分ave
输出学生的姓名、学号、班级、三门课的分数和平均分
输出学生的姓名、学号、班级、三门课的分数和平均分
调用save函数和display函数
调用save函数和display函数
结束
结束
程序代码
#include stdio.h
struct student_type
{char num[13];
char name[20];
char classname[20];
float score[3];
float ave;
}stud[4];
void save()
{FILE *fp;
int i;
if((fp=fopen(score.txt,wb))==NULL)
{
printf(cantnot open file\n);
return;
}
for(i=0;i4;i++)
{
if(fwrite(stud[i],sizeof(struct student_type),1,fp)!=1)
printf(file write error\n);
}
fclose(fp);
}
void display()
{
FILE *fp;
int i;
if((fp=fopen(score.txt, rb))==NULL)
{
printf(cantnot open file\n);
return;
}
printf(\n------------成绩---------------);
for(i=0;i4;i++)
{
struct student_type stud;
fread(stud,sizeof(struct student_type),1,fp);
printf(\n%6s\t%6s\t%6s\t%3.1f\t%3.1f\t%3.1f\t%3.1f\n,stud.name,stud.num,stud.classname,stud.score[0],stud.score[1],stud.score[2],stud.ave);
}
fclose(fp);
}
int main()
{
int i;
for (i=0;i4;i++)
{
printf(\n--输入成绩[%i/4]--\n,i+1);
printf(输入学号:);scanf(%s,stud[i].num);
printf(输入姓名:);scanf(%s,stud[i].name);
printf(输入班级:);scanf(%s,stud[i].classname);
printf(输入成绩1:);scanf(%f,stud[i].score[0]);
printf(输入成绩2:);scanf(%f,stud[i].score[1]);
printf(输入成绩3:);scanf(%
您可能关注的文档
最近下载
- 加气混凝土砌块墙面抹灰技术交底大全.docx VIP
- 六年级上册数学第四单元《解决问题的策略—假设》教学课件(苏教版).pptx VIP
- 【春秋航空 空客A320】ATA 32 起落架-2.pdf VIP
- 《环境工程原理》课后习题答案.pdf VIP
- 路清扫保洁项目策划投标文件.doc VIP
- 补肾化痰通经汤:开启肾虚痰瘀型青春期闭经治疗新路径.docx
- 《高等教育学概论》.docx VIP
- ISO IEC 20000-10-2018 信息技术- 服务管理- 第10部分: 概念和词汇(中文版).pdf
- 人民警察内务条令试题及答案.pdf VIP
- 中国重症肌无力诊断和治疗指南2025.docx VIP
原创力文档


文档评论(0)