




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——河南科技大学C语言课程设计设计报告(含源代码)设计报告
学院:电子信息工程学院班级:自动化101班姓名:高贤哲学号:10104010104
一、综合训练的任务及要求
任务:C语言综合训练是为了提高学生综合使用本学期我们所学的C语言知识编写大
型程序的能力,了解大型程序设计的开发步骤,以上机为主,每个学生依照要求使用C语言设计一个大型程序,并提供相关的设计文档和源程序,从网站提交。
要求:已知在磁盘上有一个文本文件(stuin.txt),此文件存放了一组学生的成绩信息,
依照如下格式存放:
1001stuname1891002stuname2781003stuname360??
1100stuname10087请依照如下要求编写程序:
a.定义一个结构体类型数组,结构体类型含有学号、姓名和成绩三个域;b.将文本文件的内容读入到结构体数组中;
c.显示成绩最高的人的学号、姓名和成绩(假使有一致的人要全部显示);d.显示平均成绩、高于、低于和等于平均成绩的人数;
e.显示成绩为优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~
69)、不及格(0~59)的人数和所占百比分;f.将以上显示的信息存放到stuout.txt文件中。
二、程序实现的功能、算法描述和程序实现的流程图
程序的功能:
a.将指定文本文件的内容读入到程序定义的结构体数组中;
b.显示成绩最高的人的学号、姓名和成绩(假使有一致的人全部显示);c.显示平均成绩、高于、低于和等于平均成绩的人数;
d.显示成绩为优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、
第1页,共16页
设计报告
不及格(0~59)的人数和所占百分比;e.将以上显示的信息存放到指定文件中。算法描述:
S1:定义一个结构体类型structstudent数组student[100],结构体类型struct
student含有intnum、charname[20]、floatscore三个域;定义全局整型变量i,score_max,sum,more_than,equal,less_than,A,B,C,D,E;定义全局浮点型变量aveS2:以〞r〞的方式开启文本文件stuin.txt
S3:将文本文件stuin.txt的内容读入到结构体数组student[100]中S4:score_max=student[0].scoreS5:i=1
S6:若student[i].score>score_max执行S7;否则,执行S8S7:score_max=student[i].scoreS8:i=i+1
S9:若iave执行S23;否则,执行S24S23:more_than=more_than+1,执行S27
S24:若student[i].score=ave执行S25;否则,执行S26S25:equal=equal+1,执行S27S26:less_than=less_than+1S27:i=i+1
S28:若iscore_max是score_max=student[i].scorei=i+1输出“取得最高成绩的学生的信息:〞到屏幕i=0否i
设计报告
三、程序的调试
调试过程中遇到fread函数使用错误,导致文件读取失败。后改用fscanf函数,解决了文件读取问题。
变量的运用出现了一些问题。最终把多个函数需要用到的需要保存原值的变量设为了全局变量。
四、课程设计总结与体会
通过这次课程设计,我对循环结构控制、函数调用、结构体、文件操作更加熟悉,对C语言程序设计有了更加深入的认识,锻炼了编写大型程序的能力,了解了大型程序设计的开发步骤。
C语言主体应是由函数调用构成的,应尽可能把相对独立的功能单独用一个函数来编写,这样可以提高程序的可读性,也能降低编写大型程序的难度,减少编程出错的可能性。
第11页,共16页
设计报告
源代码:#includestructstudent{
intnum;charname[11];intscore;
}student[100];
inti,score_max,sum,more_than,equal,less_than,A,B,C,D,E;floatave;
voidmax(){}
voidsave_max(){
第12页,共16页
voidsave_max();
score_max=student[0].score;for(i=0;iscore_max)
score_max=student[i].score;
printf(\取得最高成绩的学生的信息:\\n\for(i=0;iave)
more_than++;
elseif(student[i].score==ave)
equal++;
elseless_than++;
FILE*fp2;
fp2=fopen(\
fprintf(fp2,\高于平均成绩的学生人数:%d\\n\fprintf(fp2,\等于平均成绩的学生人数:%d\\n\fprintf(fp2,\低于平均成绩的学生人数:%d\\n\\n\fclose(fp2);
设计报告
voidrank(){}
voidsave_rank(){
voidsave_rank();A=B=C=D=E=0;for(i=0;i=90)
elseif((student[i].score>=80)
elseif((student[i].score>=70)
elseif((student[i].score>=60)
elseE++;
FILE*fp2;
fp2=fopen(\
fprintf(fp2,\取得“优秀〞的学生人数:%d\\t%.1f%%\\n\
第15页,共16页
设计报告
}
fprintf(fp2,\取得“良好〞的学生人数:%d\\t%.1f%%\\n\fprintf(fp2,\取得“中等〞的学生人数:%d\\t%.1f%%\\n\fprintf(fp2,\取得“及格〞的学生人数:%d\\t%.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 九年级化学下册 第八章 第三节 蛋白质 维生素说课稿 (新版)沪教版
- 2025年护理技能大赛题库及答案中职组
- 1.1生活中的立体图形(第1课时) 说课稿北师大版数学七年级上册
- DWI序列课件教学课件
- 1.2.3最大的生态系统-说课稿2023-2024学年人教版生物七年级上册
- 第18课 遇到陌生人怎么办说课稿小学地方、校本课程浙教版(2021)人·自然·社会
- 第四单元 亚洲弦歌-班内(教学设计)-2023-2024学年人音版音乐八年级下册
- 2024-2025学年高中化学 第四章 化学与自然资源的开发利用 第一节 开发利用金属矿物和海水资源 第1课时说课稿4 新人教版必修2
- dolls课件miamfei教学课件
- 2024天津中学主题班会课教学设计-我就是我是颜色不一样的烟火
- 第三单元第2课时儿童乐园(教学设计)数学北师大版二年级上册2025
- 建设用地审查报批课件
- 2025年企业首席质量官培训考核试题(含答案)
- 2025-2030儿童心理健康服务市场需求分析与行业趋势及发展策略报告
- 人工智能+新能源设备研发应用分析报告
- 公路施工汇报材料
- 对银行消防培训课件
- 保安节前安全培训课件
- 临床运动处方实践专家共识(2025)解读 3
- 2025-2030礼品包装品牌化运营策略及消费者偏好与市场营销渠道研究
- 弹簧测力计的原理
评论
0/150
提交评论