学生成绩管理系统设计与实现82.docx

上传人:太** 文档编号:86406286 上传时间:2023-04-14 格式:DOCX 页数:17 大小:719.63KB
返回 下载 相关 举报
学生成绩管理系统设计与实现82.docx_第1页
第1页 / 共17页
学生成绩管理系统设计与实现82.docx_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《学生成绩管理系统设计与实现82.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计与实现82.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、河南工程学院高级程序设计语言课程设计成果报告学生成绩管理系统设计与实现fstream outfile, infile;ios:app);ios:app);outfile. open(,zf 1. txt, ios:out if(!file) cout/zf 1. txt can not open. nz/;return;outf ilename,/学号:number 数学成绩:C+成绩:“cpp外语成绩:englishendl;outfile. close();infile. open(/zfl. txt, ios: : in);if(!file)cout/zf 1. txt can not

2、open.n;return;char ch;while (infile, get(ch)coutch;coutendl;infile, close();j+;si=new Tstu(name, number, math, cpp, english);i+;coutc;chrisl=0;do if (c!=y &c!二n )cout指令错误!请重新输入!c;elsechrisl=l;while(chrisl=O);while(c=,y);break;3.4 增加、删除、修改学生数据运用switch语句,do while语句,if语句,输入要增加的学生的信息, 并存入到之前建立的文本文档中,在文本

3、文档中找到需要删除的学生的姓名,判 断是否相等,运用if语句判断是否删除学生数据,运用do while语句在文件 中找到要修改的学生的姓名,运用if语句输入修改学生信息。如下代码即为增 加学生的数据: case 2:(char name30;int number;float math, cpp, english;char c; docout”请输入您要增加的学生的姓名:name;cout请输入你要增加的学生的学号:endl; cinnumber;cout请输入数学成绩:math;cout请输入 C+成绩:cpp;cout请输入英语成绩:english;fstream outfile, infi

4、le;outfile. open(/zf 1. txt, ios: :out | ios: :app); if(!file)cout,zf 1. txt can not open. nz/;return;outf ilename/z学号:/number/ 数学成绩:C+成绩:0cpp *外语 成绩:englishendl;outfile. close();infile, open(z/f 1. txt, ios: : in);if(!file)cout/zf 1. txt can not open. n/z;return;char h;while (infile, get(h)couth;co

5、utendl;infile, close();j+;si=new Tstu(name, number, math, cpp, english);i+;coutc;if (c!=y &c!二n)coutc;while(c=,y);break;3.5 按总分或姓名查询运用switch语句,if语句,for语句,do while语句,输入学生的总成 绩(或姓名),在文件中查找需要的学生的信息并输出学生的信息,此处代码与 上面所示代码比拟相似,即不再展示代码。3. 6输出所有学生数据以输入方式翻开文件磁盘,输出文件中所有学生数据,然后关闭文件,具体 代码如下所示:case 7:cout”所有学生数据如

6、下:endl;ifstream file;file, open (/zf 1. txt, ios: : in);coutfile. rdbuf ();file, close ();break;io3.7统计每个学生的平均成绩以及各科不及格人数运用switch语句,if语句,for语句,输出统计每个学生的平均成绩以及 各科不及格人数。如下代码即为为统计各科不及格人数:case 9: if(i=0)cout,/系统中没有输入数据,请先输入数 据!,endl; break;int m, n, k, j ; m=0; n=0; k=0;for(j=0;jmathcppenglish60)k+;cout

7、“数学不及格人数为:,mendl;cout“c+不及格人数为:,nendl;cout英语不及格人数为:kendl;break;3. 8按总分排名运用switch语句,if语句,for语句,将全部学生的成绩按总分排名,具 体代码如下所示:case 10: (if (i=0)iicout系统中没有输入数据,请先输入数据! z/endl; break;int h, g, n;int j=0;float a100, temp;for (g=0;gi;g+)aj = (*sg). getsumO ; j+;for(h=O;hi;h+)for (n=0;nan+l)temp=an;an=an+l;an+l

8、=temp;12第4章系统调试运行10.1 试系统反复进行调试修改,确认系统完全没有错误后运行。4. 2运行主菜单界面,如图4-1:图47主菜单页面图13局部操作界面:(1)数据录入,如图4-2: *E:lqyshixunDebugshixun.exe*成绩统计:而匐修生的平均成绩9各科不及格人数悔名:3。按总分查询排名,退出快择相关操作请输入相对的括号里的阿拉伯数字及字母:,输入姓名:lily情输入学号:1111情输入数学成绩:像输入C-成绩:情输入英语成绩:P3 lily学号数学成绩:95 CH成绩:92外语成绩:93 数据录入成功,想继续录入吗图4-2数据录入图(2)增加学生,如图4-3

9、 :图4-3增加学生图14(3)按总成绩查询,如图4-4:京* *E:lqyshixunDebugshixun.exe*一欢迎来到学生成绩管理系统一甫选择您麓要的操作!W:3数据录入2嘴加学生3)喇除学生4)修筱薮据5按总成绩查询6接姓名查询输出所有举生的数据8施个学生的平均成绩9)各科不及格人数排名:30按总分查询排名11)退出选择相关操作请输入相对的括号里的阿拉伯数字及字母:曾输入您要查询的学生的总成绩:neinei.图4-4按总成绩查询图(4)输出所有学生的数据,如图4-5:图4-5所有学生数据图15(5)每个学生的平均成绩,如图4-6:图4-6平均成绩图4. 3分析每一个case都能执

10、行,但是有很多的地方都不够完善,例如:在总成绩排 序中,只能输出总成绩,不能单独的输出学生的相应的信息;每次进行别的操作 之前都要在进行一次数据的录入,不能直接对原有的文件进行读取。16题目学生成绩管理系统设计与实现考核工程考核内容得分平时考核(30分)出勤情况、态度、效率;知识掌握情况、 基本操作技能、知识应用能力、获取知识能力系统设计(20分)分析系统的功能模块编程调试(20分)实现系统的各个功能模块,并完成调试回答下列问题(15分)回答老师针对课程设计提出的问题课程设计报告撰写(10分)严格按照规范要求完成课程设计报告源代码(5分)按照规范要求完成课程设计源代码的排版总评成绩指导教师评语

11、:日期:课程设计体会通过这次C+课程设计,我认识到自身对于C+课程认识的缺乏之处还有很 多,以后还需要加强练习,多向别人请教,才能更加熟练的设计出更复杂更完美 的程序。此次C+课程设计,在指导教师的精心教导下,我们学会了如何用C+编写 一个简单的应用程序。首先要对程序的设计要求有一个比拟明确的认识,然后系 统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界 面,将各个功能集中出来按照程序编写原那么,便于查询。C+面向对象程序设计本来就是一门比拟难学习的课程,这次课程设计报告 虽然只有短短的一周时间,却足以让我认识到自己对这么课程认识的缺乏,这也 更加激励了我以后要好好学习这

12、门课程的决心,我相信,在我的不断努力下一定 能学好这门课程。17参考文献1C+ +面向对象程序设计.谭浩强.清华大学出版社2C+面向对象程序设计题解与上机指导.谭浩强.清华大学出版社3C+ +程序设计.刘觉夫 王更生等.北京邮电大学出版社4C + +语言及其程序设计教程.张国峰.北京电子工业出版社5C+ +程序设计教程.陈卫卫.希望电子出版社6面向对象的程序设计C+ +实训教程.杨学明等.科学出版社7C语言程序设计教程.宗大华.人民邮电出版社18第1章系统设计目的11.1 课程设计要求11.2 课程设计目的错误!未定义书签。第2章 系统功能分析错误!未定义书签。2.1 需求分析错误!未定义书签

13、。2.2 系统性能要求错误!未定义书签。2.3 3系统的功能分析22. 4系统功能模块32.5 界面设计错误!未定义书签。2.6 功能设计与实现错误!未定义书签。第3章系统详细设计43.1通过定义一个类来定义数据录入的函数43. 3数据的录入63.5 增加、删除、修改学生数据83.6 按总分或姓名查询103. 6输出所有学生数据103. 7统计每个学生的平均成绩以及各学科不及格人数103.8按总分排名11第4章系统调试运行134. 1调试134. 2运行135. 3分析16课程设计体会17参考文献18第1章系统设计目的1.1 课程设计要求根据C+课程所学的概念、理论和方法,按照C+程序设计的基

14、本步骤,设 计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程 序,对给出的程序源代码要给出各局部的详细注释,自己根据能力及需要添加相 应功能模块,增强模拟系统功能。包括系统的功能分析、系统的功能模块设计、 程序流程图或结构框图、逻辑结构设计,数据库中的表、视图、索引的结构和定 义、触发器、存储过程、课程设计体会:使学生掌握C+编程的基本工作;培养学生基本掌握C+应用编程的基本思路和方法;使学生掌握C+应用调试的基本技能;培养学生分析、解决问题的能力;提高学生的科技论文写作能力。1.2 课程设计目的设计四个类;学生类(描述学生基本信息);成绩类;班级类;课程类 (描述课程信息

15、:课程编号,科目名称(如高等数学,大学英语等);学生成 绩及课程信息用文件保存,每个类一个文件,程序执行时从文件读入;能按学期,按班级完成对学生成绩的录入,修改,能按班级统计学生的 成绩;求学生的总分及平均分;并能根据学生的平均成绩进行排序,能查询学生 成绩,不及格科目及学生名单;能按班级输出学生的成绩单。- 设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期 末成绩、平时成绩所占百分比;- 计算学生总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩 *(1-平时成绩所占百分比);显示学生的姓名、所选课程名称以及平时成绩、期末成绩和总评成绩信息,分单人显示和以班输出(班成绩

16、单格式输出到文件);注意,至少一个班,30人三门课。第2章系统功能分析2.1需求分析根据C+课程所学的概念、理论和方法,按照C+程序设计的基本步骤,设 计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程 序。对给出的程序源代码要给出各局部的详细注释。自己根据能力及需要添加相 应功能模块,增强模拟系统功能,具体分析如下:能对学生各科成绩进行录入;能对学生的成绩进行增加;能对学生的成绩进行删除;能对学生的成绩进行修改;能对学生的成绩按总成绩、姓名进行查询;能输出学生的所有数据;能进行成绩统计;能进行总分查询排名。2. 2系统性能要求对于设计的系统各方面的要求有:系统平安、可靠;功

17、能齐全;操作方便、界面友好;易于维护和扩充。2. 3系统的功能分析对于所设计出来的系统要求尽量完善完美,能够到达各方面的要求,课程需 要到达的要求也要准确无误,其中包括:资料维护:系统维护包括对学生信息的录入及数据表中信息进行浏览;系统功能:可以对数据表中的信息进行浏览;系统查询:可以对学生的信息进行查询。2. 4系统功能模块学生成绩查询系统有:成绩录入、增加、删除、修改,数据查询,排序显示构成,如图2-4。图2-4系统功能模块图2. 5界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。2. 6功能设计与实现通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。应用系统 主控界面包

18、括记录编辑和记录查询等功能模块。记录编辑功能完成学生成绩记录 编辑和记录查询功能。记录查询功能可以对数据各分类的记录进行查询。第3章系统详细设计3.1 定义四个类建立学生类:至少包括姓名、学号、各科成绩。建立成绩类:该类是学生成 绩记录的集合,其成员函数那么是问题中要求的录入、增加、修改、删除、排序、 求和、求平均值等各种操作。建立班级类:能够准确进行查找学生所在班级信息、 以及班级总成绩等操作。课程类:能够记录学生的课程信息,以及学生课程对应 的分数。并将主函数定义为友元函数,方便访问类中的成员。由于四个类的代码 太多,在此只举一例,即为学生类: class Tstu (char name3

19、0;int number;float math, cpp, english, average, sum;public:TstuO ;Tstu ( char n30, int num, float ma, float cj, float eng );float getsumO ;float getaver ();friend void main();3.2 系统中的主函数主函数main (),输出录入、修改、删除、查询以及排名、统计学生成绩 等的菜单,定义全局变量P=0,用于选择菜单时的输入,定义全局变量w,用于 在大项中选择是否继续操作,类定义的指针*s将所录入的数据按类中的形式分 别存储,定

20、义全局变量i=0、j=0,用于做每个数据录入的下标,定义chirsl=0, 用于判断do while语句,如下为主函数代码: void main ()cout*欢迎来到学生成绩查询系统*endl;cout”请选择您需要的操作! “endl; 菜单的输出cout操作:endl;cout,z (1)数据录入endl;cout,z (2)增加学生endl;cout/,(3)删除学生endl;cout( (4)修改数据endl;cout查询:endl;cout/z (5)按总成绩查询endl;cout/z (6)按姓名查询endl;cout,/ (7)输出所有学生的数据Oendl;cout成绩统计:e

21、ndl;cout,(8)每个学生的平均成绩endl;cout,/ (9)各科不及格人数endl;cout排名:endl;cout(10)按总分查询排名endl;cout(11)退出endl;coutp;if(p=l&p=ll)chrisl=l;elsecout“指令错误!请重新输入:endl; while(chrisl=O);3.3 数据的录入运用switch语句,定义一个字符变量C,用于在小项中选择是否继续操作, 并定义字符变量姓名name且规定是30个name,定义整型变量学号number,浮 点型变量数学成绩math、C+ +成绩cpp、英语成绩english,并运用do while 语句判断是否继续进行数据的录入,fstream建立一个文本文档在文件夹中用于 显示所录入的数据,运用if语句判断文件是否翻开,具体代码如下: case 1:char c;char name30;int number;float math, cpp, english;docout请输入姓名:name;cout请输入学号:,znumber;cout请输入数学成绩:endl;cinmath;cout请输入 C+成绩:cpp;cout”请输入英语成绩:english;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁