- 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() 。
四、 程序流程图
#include stdio .htypedef struct student_type_tag{
char num[11];
char name[9];
char classname[20];
float score[3];
float ave;
}student_type;
student_type stud[4];
void save()
{
FILE *fp = fopen(score.txt, wb);
if (fp)
{
for (int i = 0; i 4; i++)
{
fwrite(stud[i], sizeof(student_type), 1, fp);
}
fclose(fp);
}
}
void display()
{
FILE *fp = fopen(score.txt, rb);
if (fp)
{
printf(\n------------ 成绩---------------);
for (int i = 0; i 4; i++)
{
student_type astud;
fread(astud, sizeof(student_type), 1, fp);
printf(\n%11s | %9s | %20s | %3.1f | %3.1f | %3.1f | %3.1f,
astud.name, astud.name, astud.classname,
astud.score[0], astud.score[1], astud.score[2], astud.ave);
}
fclose(fp);
}
}
int main(int argc, char* argv[])
{
for (int i = 0; i 1; i++)
{
printf(\n-- 输入成绩 [%i/4]--\n, i+1);
printf(请输入学号(最长 11 位):);scanf(%s, stud[i].num);
printf(请输入姓名(最长 9 位):);scanf(%s, stud[i].name);
printf(请输入班级(最长 20 位):);scanf(%s, stud[i].classname);
printf(请输入成绩 1(xx.x):);scanf(%f, stud[i].score[0]);
printf(请输入成绩 2(xx.x):);scanf(%f, stud[i].score[1]);
printf(请输入成绩 3(xx.x):);scanf(%f, stud[i].score[2]);
stud[i].ave = (stud[i].score[0] + stud[i].score[1] + stud[i].score[2]) / 3;
}
printf(\n 正在保存...);
save();
printf(ok);
display();
getchar();
getchar();
return 0;
}
五、 程序代码
六、 实验结果
七、 实验体会
通过这次 C 语言实训,提高了我掌握和利用 C 语言进行程设计的能力 , 而且进一
步理解和运用结构化程设计的思想和方法。 初步掌握了开发一个小型实用系统的
基本方法。学会了调试一个较长程序的基本方法。学会了利用流程图或 N-S 图
表示算法。掌握了书写程设计开发文档的能力 .为以后的实训打下坚实的基础。
八 (写出完成此次综合性实
您可能关注的文档
最近下载
- 用高倍显微镜观察叶绿体和细胞质流动实验.doc VIP
- 总账会计面试题目及答案.doc VIP
- 测绘安全生产事故报告及处置办法.docx VIP
- 最新版精选食品安全管理员完整题库298题(含答案) .pdf
- 造纸用压滤脱水靴套加工设备.pdf VIP
- 【腾讯广告营销洞察】Z世代消费力白皮书.pdf VIP
- 统编版(2024)新教材小学三年级道德与法治上册第二单元《爱科学 学科学》(复习课件).pptx VIP
- 一例基于5A护理模式下的AECOPD患者肺康复改善护理个案(1) PPT课件.pptx VIP
- 湘美版小学六年级美术上册-《田间的精灵》同步课件.pptx VIP
- 广州市居住小区配套设施建设暂行规定.doc VIP
原创力文档


文档评论(0)