




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要学生成绩查询系统,运用结构体,struct ,sort ,Clrscr(),textcolor()函数,用for()循环语句,switch和ifelse作为条件测试语句。 程序实现了学生成绩查询功能,有20个我们班学生的数据信息,每个包含:学号 num 10(字符串)、姓名(拼音) name25(字符串)、性别 sex(字符,M或W)、年龄 age(整型)、三门课程成绩(高数、英语、计算机) score 3 (单精度)。设计一个系统:定义及输出。用结构体类型数据及其赋初值的方法把学生的数据送到结构体数组中(第一个数据用自己的真实数据,其它数据自定,但注意要是合法数据),然后把它们输出显示;计算并排序。计算每个学生三门课程的总分(sum,单精度)及平均分(aver,单精度,输出一位小数),还有他们成绩的排名,将包括所有数据的结构体数组元素按总分从大到小的顺序排序打印出来;运行程序,进入主界面!可输入1输出所有学生的成绩,输入2计算和排列学生的成绩,输入3查询学生个人成绩,输入4退出查询。在进行学生个人成绩个人查询可以实现多次查询进入学生个人查询,输入1回车实现多次查询。 运行环境为TURBOC ,WINDOWSXP。由于时间紧迫,很多功能都不能完善-例如我想把我们班所有同学的成绩输进,但是在屏幕上显示不了这么多,很遗憾。但这次的实验让我对C有了更多的认识。目录1.设计目的与要求12设计的功能23数据结构设计34软件设计开发环境85软件运行结果86结论与设计心得1021 设计目的与要求设计目的:C语言课程设计的目的是在学生学习完C语言程序设计课程后进行的一个大的实践教学环节。要求学生采用TC 2.0 开发设计一个小型应用程序,能够完整地实现一个较为复杂的特定功能,设计出友好的人机界面。初步掌握项目开发的模块化方法,掌握为实施项目查阅专业文献的方法,掌握文档编写方法。设计要求:(1)采用Turbo C 或 Win TC开发一个小型应用程序;(2)要求依广东工业大学课程设计管理规定进行;(3)要求正确分析功能需求、程序设计逻辑正确、数据运行结果正确。 2设计的功能开始2314输出所有成绩统计和排名查询个人的 退出查询功能选择12结束3数据结构设计i:019 学生数目 j:02 成绩项目 num 学号name 学生姓名sex 学生性别M 男性W 女性Score 学生成绩Sum 学生部分Aver 学生平均分temp 临时变量search 定义查找函数print 定义打印函数1、 程序清单及说明:#includestruct student /*声明结构体*/char num15; /*定义数组存放学生学号*/ char name20; /*定义数组存放名字*/ char sex; /*定义字符存放学生性别*/ int age; /*定义整形age存放年龄*/ float score3; /*定义数组存放三门成绩*/ float total; /*定义浮点变量tatal存放三门成绩总和*/ float average; /*定义average存放平均分*/ int rank; /*定义 rank存放排名*/;struct student stu=3106005418,chenweiwu,M,20,100,100,100,0,0,0, 3106005415,caichunnan,M,20,63,87,90,0,0,0, 3106005416,chenkangqian,M,19,61,77,82,0,0,0, 3106005417,chentingxian,M,19,64,87,71,0,0,0, 3106005419,chenhaijun,M,21,98,64,64,0,0,0, 3106005420,gaodingwen,M,19,75,82,82,0,0,0, 3106005421,guanjunjie,M,20,78,63,66,0,0,0, 3106005422,huangchaoyun,M,19,90,65,59,0,0,0, 3106005423,huangzhenjiang,M,19,65,76,80,0,0,0, 3106005424,lijianfei,M,19,69,81,79,0,0,0, 3106005427,lixueyan,M,22,69,81,75,0,0,0, 31060054230,mozeliang,M,19,69,81,72,0,0,0, 3106005429,linxin,M,19,90,81,72,0,0,0, 31060054231,liuchuanjing,M,19,90,59,72,0,0,0, 31060054232,luoronghui,M,19,90,81,79,0,0,0, 3106005433,panbingpei,M,21,90,91,72,0,0,0, 31060054234,wanglinbin,M,19,90,81,82,0,0,0, 3206005448,chenwenzhu,w,19,90,81,96,0,0,0, 3206005449,gaochenfang,w,19,98,81,82,0,0,0, 3206005450,lichaoxia,w,19,98,81,82,0,0,0, 3206005449,zhangxiaomin,w,19,98,81,82,0,0,0, 3106005425,liguangxi,M,19,69,81,78; /*对结构体赋初值*/struct student stu_temp=3106005418,chenweiwu,M,20,100,100,100,0,0,0, 3106005415,caichunnan,M,20,63,87,90,0,0,0, 3106005416,chenkangqian,M,19,61,77,82,0,0,0, 3106005417,chentingxian,M,19,64,87,71,0,0,0, 3106005419,chenhaijun,M,21,98,64,64,0,0,0, 3106005420,gaodingwen,M,19,75,82,82,0,0,0, 3106005421,guanjunjie,M,20,78,63,66,0,0,0, 3106005422,huangchaoyun,M,19,90,65,59,0,0,0, 3106005423,huangzhenjiang,M,19,65,76,80,0,0,0, 3106005424,lijianfei,M,19,69,81,79,0,0,0, 3106005427,lixueyan,M,22,69,81,75,0,0,0, 31060054230,mozeliang,M,19,69,81,72,0,0,0, 3106005429,linxin,M,19,90,81,72,0,0,0, 31060054231,liuchuanjing,M,19,90,59,72,0,0,0, 31060054232,luoronghui,M,19,90,81,79,0,0,0, 3106005433,panbingpei,M,21,90,91,72,0,0,0, 31060054234,wanglinbin,M,19,90,81,82,0,0,0, 3206005448,chenwenzhu,w,19,90,81,96,0,0,0, 3206005449,gaochenfang,w,19,98,81,82,0,0,0, 3206005450,lichaoxia,w,19,98,81,82,0,0,0, 3206005449,zhangxiaomin,w,19,98,81,82,0,0,0, 3106005425,liguangxi,M,19,69,81,78; /*声明结构体temp为student类型并赋值,用于保存原始数据不致于实现计算和排序后原始数据顺序打乱*/struct student t; /*声明结构体属于student 类型*/void main()void search(struct student stu); /*声明函数,下同*/ void calculate(struct student stu); void sort(struct student stu,int n); void print(struct student stu_temp); void ave(struct student stu); textcolor(12) ; textbackground(9); clrscr();function_choose(); /*调用主界面函数function choose*/ void sort(struct student stu,int n) /*定义排序函数sort:运用选择法对数组中的元素按大到小进行排序*/int i,j,k,m=1; for(i=0;in-1;i+) k=i; for(j=i+1;jstuk.total)k=j; t=stuk;stuk=stui;stui=t; for(i=0;i20;i+)stui.rank=m;m+;void print(struct student stu_temp) /*函数print,实现第一个功能*/ int i,j;int m; printf(nNumber Name Sex Age Score.E Score.M Score.Cn); for(i=0;i20;i+) /*循环结构,输出学生信息*/printf(%-12s%-16s%-3c%-3d,stu_tempi.num,stu_,stu_tempi.sex,stu_tempi.age); for(j=0;j3;j+) printf(%6.1f ,stu_tempi.scorej);printf(n); printf(n1 Return choose function.n2 Exit.n); /*控制返回主届面或退出*/ scanf(%d,&m);if(m=1)function_choose(); /*调用主界面函数functiochoose*/ else if(m=2); void calculate(struct student stu) /*定义计算函数calculate:计算成绩并排*/float sum;int m; float average=0;int i,j;int temp=1; for(i=0;i20;i+) /*循环结构,计算学生总分和平均分*/ sum=0; for(j=0;j3;j+) sum+=stui.scorej; /*计算第i个学生的总分*/ stui.total=sum;average=sum/3.0; /*计算第i个学生的平均分 */ stui.average=average; temp+=1; /*temp统计需要排序的学生数,用于下面的sort函*/ sort(stu,temp); /*调用排序函数sort*/ void ave(struct student stu) /*定义函数ave:实现计算并排序的功能*/int m; int i,j;calculate(stu); /*调用计算函数calculate*/ printf(nNumber Name Sex Age Score.E Score.M Score.C Total Average Rankn); for(i=0;i20;i+) printf(%-12s%-16s%-3c%-3d,stui.num,,stui.sex,stui.age); for(j=0;j3;j+) printf(%6.1f ,stui.scorej); printf( %6.1f %3.1f %dn,stui.total,stui.average,stui.rank); printf(n1 Return choose function.n2 Exit.n); /*控制返回主届面或退出*/ scanf(%d,&m); if(m=1)function_choose(); /*调用主界面函数function choose*/ else if(m=2); void search(struct student stu) int m;int i,j; char student_name20;calculate(stu); /*调用计算函数calculate*/ printf(input the name of who do you want to search? thank you!n); scanf(%s,student_name); for(i=0;i20;i+) if(strcmp(student_name,)=0) /*调用strcmp函数实现查找功能*/ printf(nNumber Name Sex Age Score.E Score.M Score.C Total Average Rankn); printf(%-12s%-16s%-3c%-3d,stui.num,,stui.sex,stui.age); for(j=0;j3;j+) printf(%6.1f ,stui.scorej); printf( %6.1f %3.1f %dn,stui.total,stui.average,stui.rank); printf(n); printf(n1 Search again.n2 Return choose function.n3 Exit.); /*控制多次查找*/ scanf(%d,&m);if(m=1)search(stu); else if(m=2)function_choose(); /*返回主界面*/ else if(m=3); function_choose() /*定义主界面函数function choose:给用户选能*/int temp; printf(the maker of the programe is ChenWeiwu.n n); printf(ttplease Choose one function.nn); printf(t1 Print all the students mark.nt2 Calculate and Range.nt3 Search student.nt4 Exit.n); scanf(%d,&temp); if(temp=1)print(stu_temp); /*选择第一个功能*/ if(temp=2)ave(stu); /*选择第二个功能*/ if(temp=3)search(stu); /*选择第三个功能*/4软件设计开发环境TURBOC ,WINDOWS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 白内障手术患者管理专家共识(2023)解读
- 徐水综合高级中学高三上学期月考II语文试题
- 确保准备充分2025年计算机二级考试试题及答案
- 留置针操作步骤和方法
- 2025广西百色市西林县句町咖啡发展贸易有限公司公开招聘2人笔试参考题库附带答案详解
- 2025江苏苏州市苏惠优达供应链管理有限公司紧急招聘4人笔试参考题库附带答案详解
- 2025昇兴(四川)智能科技有限公司招聘22人笔试参考题库附带答案详解
- 2025四川科瑞软件有限责任公司北京分公司招聘销售代表1人笔试参考题库附带答案详解
- 2025四川九洲建筑工程有限责任公司招聘生产经理等岗位6人笔试参考题库附带答案详解
- 小升初-08 人物描写
- AGC 系统安全事故应急处置程序
- 变位齿轮与变位齿轮传动
- 二级精神病医院评价细则
- TGIA 004-2020 垃圾填埋场地下水污染防治技术指南
- GB/T 148-1997印刷、书写和绘图纸幅面尺寸
- 《思想道德与法治》 课件 第三章 弘扬中国精神
- 人教版小学数学四年级下册平均数教学教材课件
- (更新版)中国移动政企行业认证题库大全-上(单选题汇总-共3部分-1)
- 中国古钱币课件5(宋元明清)
- 2022年小升初入学考试数学真题重庆市巴川中学初一新生入学水平测试
- 品质控制计划(QC工程图)
评论
0/150
提交评论