


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大作业背景说明 :为了能够将本课程所有章节的内容融会贯通, 使得大家能够综合 应用各章所学内容完成一个规模稍大的任务, 特别设计了此任务。 该 任务主要实现学生成绩管理的功能。 通过该任务的实现, 最终要求大 家能够具备综合应用该课程各章的知识实现一个完整的小系统的能 力。任务名称 :学生成绩管理系统任务功能 :该系统由多个模块构成,主要包括菜单显示、学生信息批 量录入、单个学生信息添加、学生成绩信息显示或输出、学生信息修 改、学生记录删除、平均成绩计算、学号或平均分排序等模块。假设每个学生的信息包括学号、姓名、语文、数学、英语和平均成绩。成绩单的格式如下:学号姓名语文成绩数学成绩英语成绩平均
2、成绩20111001sarah809090系统计算20111002micheal70908020111003linda90858020111004lee808892功能模块图 :实现方法:为了方便实现, 通常会将一个复杂的任务分解为多个子任务逐步实现任务 1:显示“学生成绩管理系统”的菜单。在 VC+6.0 集成开发环境下,编 程打印输出如下图的菜单。任务 2:在任务 1 的基础上,编写程序实现选择菜单项的功能。即从键盘输入09 之间的一个字符,然后显示输入字符对应的信息。如输入的字符是1 ,则显示:您选择了“ 1 创建成绩单” ;如果输入的字符不在 09 之间,则输出: “非法输入”。任务
3、3:在任务 2的基础上,编写程序实现循环点菜功能。即从键盘输入 09 之间的一个字符,然后显示输入字符对应的信息。如输入的字符是 1,则显示:您 选择了“ 1创建成绩单” ;如果输入的字符不在 09 之间,则输出“非法输 入”。以上过程可以循环往复地执行,直到输入字符0,则显示:您选择了“ 0退出”,然后按任意键结束整个程序的执行。任务 4:在任务 3 的基础上,编写程序实现成绩管理的各菜单项的具体功能, 包括创建成绩单(批量录入学生数据)和计算平均成绩、添加单个学生信息、删 除某学生信息、编辑学生信息、统计优秀成绩的个数、 基于学号或平均成绩排序、 显示学生信息等功能。假设每个学生的信息包括
4、学号、姓名、数学、语文、英语 和平均成绩。重点考虑:1)学生全部数据的定义和组织:多个基本类型数组? 1 个结构体数组?2)各模块的实现顺序:先实现创建成绩单,即成绩单录入模块,然后实现显示 成绩模块,然后实现其他模块。3)无论实现那个模块, 当前表中的实际人数和表容纳的最大人数都是需要注意 的重要对象。4) 创建成绩单创建成绩单:实现成绩录入,成绩输入过程如下图:基本思路 :如果成绩单存在则不可二次创建,即当前表中人数 >0 时,不可创建;否则(表中无人)可创建成绩单,即可批量录入学生信息。每个人的平 均成绩在录入后,系统直接计算。录入时需要注意两点 : a、结束标记,比如可以设计学号
5、为 0 时,录入结束; b、 成绩表中实际人数达到最大值,也要结束录入。4)显示成绩如果表中无人,提示用户无成绩存在,否则输出全部信息。当前表中的实际 人数依然是关键。5) 添加学生 先判断表中人数, 如果表中人数达到最大值, 则提示用户不可添加学生信息, 否则方可添加学生信息。添加学生后,注意更新表中现有学生人数。6) 编辑学生信息 以学号为修改的关键字。要求用户输入要修改学生的学号,然后查找该学生信息,如果表中无该学号, 提示用户无此人, 否则允许用户输入新的信息来覆盖 旧的信息7)删除学生信息 以学号为删除的关键字。要求用户输入要删除学生的学号,然后查找该学生 信息,如果表中无该学号,提
6、示用户无此人;否则删除该学生信息,并提示用户 已删除。8)统计成绩 统计每科成绩为优秀(大于等于 90 分)的学生人数,并输出结果。依然需 要判断表中是否有人,如果无人提示用户,否则统计并输出结果。9 ) 排序成绩单 最好提供如下图所示的子菜单,否则就只能实现一种排序。a、 成绩表中少于 2 人(实际人数 <2)不应做排序b、 排序后不要直接输出,提示用户使用菜单项 “ 7显示成绩 ”输出排序结 果。尽可能代码重用,不要重复编写功能一样的代码。任务 5:在任务 4 的基础上,追加从文件读入数据和将数据写入文件的功能。 菜单截图如下:其中菜单项 8“从文件读入” ,用于从文件中读入学生成绩
7、信息;相反的,菜单项9“输出到文件”,用于将从键盘上输入的学生数据保存在磁盘文件中。磁盘文件的好处是可永久保存数据。 将学生数据保存在磁盘文件中, 可以让数据独立于程序而存在。此外,从文件可以读入学生数据进行管理,以减少反复输入的麻烦。注意:a、 无论读写,文件打开时,应该测试文件是否能正常打开,如果错误给出出错提示。b、 文件的格式,建议为文本文件,即 ASCII 文件,这样可以用记事本打开查看结果, 文件内容如下图所示:#include<stdio.h>#define N 10 main() int button,button2,i,max=0,change,del,num3=
8、0,0,0; struct stuint no;char name20;int math;int chi;int eng;stuN;printf("|n");printf("| |n"); printf("| 学生成绩管理系统 |n"); printf("|n");printf("|n");printf("|n");printf("|1 创建成绩单|n");printf("|2 添加学生|n");printf("|3 编辑学生
9、|n");printf("|4 删除学生|n");printf("|5 统计成绩|n");printf("|6 排序成绩单|n");printf("|7 显示成绩|n");printf("|8 从文件读入|n");printf("|9 输出到文件|n");printf("|0 退出|n");printf("|n");printf("请输入编号( 0 9):");scanf("%d",&a
10、mp;button); if(button>=9|button<=0)printf("非法输入 !n");if(button=1)printf(" 您选择了 1创建成绩单: %dn",button);if(max>=N)printf(" 已经超出最大值,不能创建 ");/break;printf("输入学号为 0 时退出。 ");for(i=0;stui.no!=0&&i<=N;i+)printf("学号:");scanf("%d",&
11、amp;stui.no);printf("姓名:");scanf("%s",);printf("数学 :");scanf("%d",&stui.math);printf("语文:");scanf("%d",&stui.chi);printf("英语 :");scanf("%d",&stui.eng);printf(" 录入结束 ");if(button=2)printf(&q
12、uot;输入学号为 0时退出。 ");for(i=max;stui.no!=0&&i<=N;i+)printf("学号:"); scanf("%d",&stui.no);printf("姓名:"); scanf("%s",);printf("数学 :"); scanf("%d",&stui.math); printf("语文:"); scanf("%d",&stu
13、i.chi);printf("英语 :"); scanf("%d",&stui.eng); printf("添加结束 ");if(button=3)printf(" 请输入将要编辑学生的学号: "); scanf("%d",&change);if(change>=0&&change<=max)printf(" 姓名:"); scanf("%s",); printf(" 数学
14、:"); scanf("%d",&stuchange.math); printf(" 语文:"); scanf("%d",&stuchange.chi); printf(" 英语 :"); scanf("%d",&stuchange.eng);else10printf("查无此人 ");if(button=4)printf(" 请输入将要删除学生的学号: "); scanf("%d",&del)
15、;if(del<=max&&del>=0&&del!=0)studel.no=0;studel.math=0;studel.chi=0;studel.eng=0;printf(" 该学生已删除 ");elseprintf("查无此人 ");if(button=5)if(max!=0)for(i=0;i<=max;i+)if(stui.math>=90&&stui.no!=0) num0+;if(stui.chi>=90&&stui.no!=0) num1+;if(stui.eng>=90&&stui.no!=0)num2+;11printf(" 数学优秀学生数: %dn 语文优秀学生数: %dn 英语优 秀学生数: %dn",num0,num1,num2);if(button=6)printf("|");printf("| |"); printf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年药政云必考题库及答案
- 2025年端午节文化知识竞赛试题及答案
- 信息素养与信息素养教育跨文化比较考核试卷
- 环保型人造革原材料可持续供应保障体系构建考核试卷
- 2025年财政知识竞赛会计类知识竞赛题库及答案(共50题)
- 2025年《3-6岁幼儿学习与发展指南》试题及答案
- 照明工程合同变更管理流程考核试卷
- 刺绣艺术与城市社区艺术展览的合作案例考核试卷
- 报表自动化流程设计考核试卷
- 2024年新疆新源县事业单位公开招聘工作人员考试题含答案
- 监护转让协议书
- 高中劳动教育课程
- 2025年保密知识考试试题及解析答案
- 【北京市人社局】2025年北京市人力资源市场薪酬数据报告(一季度)
- 监控项目合同书补充协议
- 签劳务派遣合同三方协议
- 初中英语单词总表2182
- 2025全国生态日知识竞赛考试题库(含答案)
- 阿里铁军培训课件
- 《Sketch Up 软件运用》课件(共九章)
- 多器官功能障碍综合征(MODS)的系统监测与全程护理管理实践
评论
0/150
提交评论