还剩18页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
河南工程学院《高级程序设计语言》课程设计成果报告学生成绩管理系统设计与实现do{cout〈〈〃请输入姓名〃endl;cinname;cout〈〈〃请输入学号:z endl;cinnumber;cout〈〈”请输入数学成绩〃《endl;cinmath;cout〈〃请输入C++成绩〃endl;cincpp;cout〈”请输入英语成绩〃endl;cinenglish;fstream outfile,infile;〃作一个文本文档在文件夹中用于显示所录入的数据outfile.open/z f
1.txt〃,ios::out|ios::app;if!file{cout/z f
1.txt cannot open.\n/z;return;}outf ilename,/学号:,,number,数学成绩:,,«math z,〈〈”C++成绩:外语成绩:〈english〈〈endl;outf ile.close;infile.open,,fl.txt〃,ios::in;if!file〃判断文件是否打开{cout z/f
1.txt cannot open.\n z/;return;}char ch;while infile.getch coutch;coutendl;infile,close;j++;s[i]=new Tstuname,number,math,cpp,english;i++;cout«〃数据录入成功,想继续录入吗y/n,,«endl;cinc;chrisl=0;do{if c!=,y c!=n{cout«指令错误!请重新输入!〈endl;cinc;}else chrisl=l;}whilechrisl==0;}whilec=y;〃重复输入break;}3主函数此函数是运行的主要执行流程,它把程序所需要的功能都在此运行void main{cout〃*****************欢迎来到学生成绩查询系统*****************〃〈〈endl;cout〃请选择您需要的操作!〃〈〈endl;〃菜单的输出cout〈〃操作〃endl;cout«,z1数据录入〃endl;cout«,/2增加学生”endl;cout«,z3删除学生〃〈endl;cout〃4修改数据〃endl;cout〈〃查询,,endl;cout〈〃5按总成绩查询〃〈〈endl;cout/z6按姓名查询〃〈endl;cout«,/7输出所有学生的数据“〈endl;cout〈〃成绩统计〃endl;cout«,,8每个学生的平均成绩〃〈endl;cout«〃9各科不及格人数〃0endl;cout〈〃排名:,,endl;cout«〃10按总分查询排名“〈endl;cout«,/11退出〃〈endl;cout«〃选择相关操作请输入相对的括号里的阿拉伯数字及字母!,,«endl;int p=0;〃全局变量,用于选择菜单时的输入char w;〃全局变量,用于在大项中选择是否继续操作Tstu*s
[100];〃类定义的指针将所录入的数据按类中的形式分别存储ofstream*file
[100];int i=0;〃全局变量,用于做每个录入数据的下标int j=0;int chrisl=0;〃用于判断do-while语句do〃判断输入是否正确cinp;ifp=lp=ll chrisl=l;else cout〃指令错误!请重新输入“〈endl;}whilechrisl==0;do{switchp4菜单的选择代码即在运行中所出现选择的程序代码,我们可以根据自己自身的需要而输入以下所对应的数字来实现它的功能;如cout〈〃*****************欢迎来到学生成绩查询系统*****************〃〈〈endl;cout〃请选择您需要的操作!〃endl;cout〃操作〃endl;cout«,/1数据录入“endl;cout/z2增加学生〃endl;cout3删除学生〃endl;cout〈〃4修改数据〃〈〈endl;cout〈〃查询〃〈〈endl;cout«z,5按总成绩查询〃〈endl;cout«z/6按姓名查询〃〈endl;cout«〃7输出所有学生的数据〃《endl;cout〈〈〃成绩统计〃endl;cout«,,8每个学生的平均成绩〃endl;cout«,,9各科不及格人数〃endl;cout〈〈〃排名:,,«endl;cout10按总分查询排名endl;cout〈〃11退出〃endl;cout〃选择相关操作请输入相对的括号里的阿拉伯数字及字母!/z endl;cinp;}whilew=y;io第4章系统调试运行本系统在visua1C++
6.0下编译调试通过,可顺利运行,各项功能达到设计要求本系统程序由一个.h头文件和C++源文件构成,系统调试主要在vc6下进行,采用分模块调试的方法进行编译,即完成一个函数功能模块就编译一个功能模块,最后再进行整体编译并生成执行文件4,1源代码按照题目要求用C++语言编写出的程序
4.2调试过程检查所写程序是否出错,并根据下面的警告和错误改正;再次检查调试,重复
(1)过程,直至
(0)错误
(0)警告;
4.3运行过程(包括截图)
(1)进入界面(图4T)kxXXXXMXXXMXXXXXX欢j卬来到学牛成结系且允*****************懵选择您需要的操相;___________图4-1进入界面图
(2)选择菜单(图4-2)〔工〉数据茅入〔2〉增加半生13〉嗣除半生14〉修祓羲据〈5〉室询:按总成绩查询〈6〉按姓名番询(7瀚出所有举生的数据成躺计〈8港个学生的平均成绩〈9〉各科不及格人数排名:口0》按总分查询排名_图4-2选择菜单图
(3)录入(图4一3)11请购入姓名:xuxiao请输入学号2013请输入数学成绩78请输入C-成绩79请输入英语成绩99xuxiao学号.858993460数学成绩-
1.07374e*008C1成绩-
1.07374e*008外语成绩-
1.07374c+008xuxiao字号:-858993460数学成绩-l.07374e+008C1成绩-
1.07374e+008外语成绩-
1.07374e+008xu字号.858993460数学成绩-
1.07374e*008C♦♦成绩-
1.07374e*008外语成绩T.07374e+008xu学号:-858993460数学成绩-
1.07374e+008C1成绩-
1.07374e+008外语成绩-
1.07374e+008xuxiao学号2013数学成绩:78C1成绩9外语成绩99数据录入成功,想继续录入吗儿〉图4-3录入图4增加学生图4-4,输入您要增加的学生的姓名liying请输入你要增加的学生的学号21请输入数学成绩90请输入成绩34请输入英语成绩99xuxiao学号:-858993460数学成绩-1・07374e*008C♦♦成绩-
1.07374e*008外语成调-
1.07374e+008xuxiao学号-858993460数学成绩-1・07374e+008C1成绩-
1.07374e*008外语成绩-
1.07374e+008xu学号:-858993460数学成绩-
1.07374e*008成绩-
1.07374e*008外语成绩-
1.07374e+008xu学号:-858993460数学成绩-1・07374e+008成绩-
1.07374e+008外语成绩-1・07374e+008xuxiao拿芳2013数箜成绩78C1成绩:79外语成绩99lining*昌21数学成绩90C—成绩34外语成绩99数据录入成功,想继续录入吗<y/n图4-4增加学生图5删除学生图4-512曾输入您要删除的学生的姓名zhaoqiannan数据删除成功,想继续删除吗y/n德输△您要删除的学生的姓名zhaoqiannan数据删除成功,想继续删除吗y/n〉图4-5删除学生图6修改数据图4-6系神麓黔鳌》就舞:图4-6修改数据图7按总分查询图4-7系登寒黔餐1>乾舞:图4-7按总分查询图8按姓名查询图4-813翼蠲羁簿赣赞图4-8按姓名查询图
(9)输出所有学生的数据(图4-9)7所有学生数强如下xuxiao学号.858993460数学成绩:-
1.07374e+008C1成绩-1・07374e+008外语成绩-
1.07374e+008xuxiao学号-858993460数学成绩-
1.07374e+008C1成绩-
1.07374e+008外语成绩-
1.07374c+008xu学号:-858993460数学成绩-
1.07374e+008C++成绩-
1.07374e+008外语成绩-
1.07374e+008xu学号:-858993460数学成绩:T.07374e*008C—成绩-
1.07374e*008外语成绩-1・0374e+008xuxiao华号2013数学成绩78C-成绩:79外语成绩99lining半昌21数学成绩:90C—成绩34外语成绩99您想继续进行其他操作吗y/n〉J图4-9输出所有学生的数据图
(10)每个学生的平均成绩(图4T0)系舞整藕簿蠢黯魏舞:图4-n各科不及格人数图1412按总分查询排名图4-12ii,0系魏麓I薇嘉嘉莪舞:图4-12总分查询图13退出图4-1311您想继续进行其他操作吗y/n=图4-13退出界面图15课程设计体会通过C++的实训让我更加深入地了解C++,而不只是单在书中学的理论,平时乏味的课程,通过自己亲手编写,变得生动有趣,而在自己的动手过程中,出现了很多问题,比理论难得多,当一个程序写完以后,经常会有很多问题出错无法解决不过,经过几天的实训,逐渐积累了一些经验,有些错误可以很快就看出来我们的整个设计过程是对系统的一点点加深理解的过程,在此过程中当我们遇到不太清楚的问题时,先是和同学讨论,解决不了时再向黄老师请教,经过老师耐心细心的指导,很多问题得以解决这使我们的发现问题、分析问题、处理问题的能力得到了很好的锻炼和提高总之,经过这一周的课程设计,我们各方面的能力都有所提升,受益颇多16题目学生成绩管理系统设计与实现考核项目考核内容得分(30分)出勤情况、态度、效率;知识掌握情况、平时考核基本操作技能、知识应用能力、获取知识能力系统设计(20分)分析系统的功能模块编程调试(20分)实现系统的各个功能模块,并完成调试回答问题(15分)回答老师针对课程设计提出的问题课程设计报告撰写(10分)严格按照规范要求完成课程设计报告源代码(5分)按照规范要求完成课程设计源代码的排版总评成绩指导教师评语:日期:参考文献
[1]谭浩强《C++程序设计解题与上机指导》清华大学出版社
[2]谭浩强《C++面向对象的程序设计》清华大学出版社
[3]龚志翔《Visual C++编程实例与技巧集粹》北京期望电子出版社
[4]孔鹏《Visual C++
6.0完全自学手册》机械工业出版社
33.
42.
42.
1.1对我们自身的要求通过本课程涉及的实践,全面总结C++课程学习中的数据类型、程序结构、数组、指针、结构等基本概念,掌握其使用方式掌握面向对象程序设计中有关类、对象、集成、重载、多态性、输入输出流类体系、稳健操作的基本概念,初步学会用类与对象这种面向对象的程序设计方式便携应用程序培养适用面相对性的程序设计方法编写计算机程序的能力通过设计一个《学生成绩管理系统》,进一步熟悉C++中类的概念、累的封装的实现方式了解系统开发的需求分析、类层次设计、模块分解、模块组装与整体调试的全过程,加深对C++理解与visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的变成习惯程序设计是一门世界爱女性很强的课程,必须十分重视实践环节许多实际的知识不是靠听课和看书学到的,而是通过长时间俺的时间积累的
1.2设计要求根据《高级程序设计语言》课程所学的概念、理论与方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能,设计主控模块程序,对给出的程序源代码要给出各部分的详细注释,自己根据能力及需要添加相应功能模块,增强模拟系统功能
1.四个类
(1)学生类(描述学生基本信息);
(2)成绩类;
(3)班级类;
(4)课程类(描述课程信息课程编号,科目名称);
2.成绩及课程信息用文件保存,程序执行是从文件读入;
3.按学期,班级完成对学生成绩的录入、修改,按班级统计学生的成绩;
4.求学生的总分及平均分,并根据学生的平均成绩进行排序,能查询学生成绩,不及格科目及学生名单;按班级输出学生的成绩单;
5.设置学生的成绩信息学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比;
6.计算学生总评成绩总评成绩:平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比);
7.显示学生的姓名、所选课程名称以及平时成绩、期末成绩和总评成绩信息分单人显示和以班输出(班成绩单格式输出到文件)注意至少应包含一个班、30人、三门课第2章系统实现分析本系统主要是学校学生成绩管理,总体任务是实现学生信息关系的系统化、规范化和自动化,如查询、修改、增加、删除,针对这些要求设计了学生管理信息系统本课程设计主要解决与学生信息管理相关的问题,设计一个功能齐全的学生成绩管理信息系统同时实现学生档案信息的添加、删除、修改和查询;学生学籍的管理;学生选课及课程的添加、修改、删除;学生成绩的录入和对学生成绩的分析等主要功能
7.1需求分析总的来说,必须满足于能够增添、查询、修改、删除等工作
1.用户输入模版在此模版中,用户将根据菜单提示结合自己的需求输入一个o—n的值,来实现一定的功能
2.学生的录入模版此模版可以让用户从键盘输入以下功能的序号,进行增加、修改、删除可根据自己自己需要定义多个数据供查询,数据输入有学号char10,姓名char20,英语成绩float4,数学成绩float4,C++成绩float4o1增加学生信息2修改学生信息3删除学生信息
3.文件保存功能模块用户在确定以录入的成绩无误之后,可以将学生信息以每班为单位存为一个数据文件用户输入的学生信息可随时保存数据文件
4.文件打开功能模版用户可以用词模块将数据文件在程序中打开、编辑,程序只能对当前打开的数据文件进行编辑
5.查询功能模块在此模块里,用户可实现以下操作1能按总分查询32按姓名查询3能输出所有学生所有的数据
6.统计功能模版在此模版中,您可以有以下的操作1每个学生的平均成绩2每科不及格人数
7.排名模版在此模版中,您可以有以下的操作1按总分查询排名2退出
2.
2.系统性能要求1系统具有实用性、可靠性和实用性,同时注意到先进性2对各个数据库进行动态管理,防止混乱;3能够按照用户选择的不同的田间进行简单的查询和符合查询;4能够对查询结果进行分类汇总5注意数据的安全性,具有数据备份和恢复的功能;6方便用户操作,尽量减少用户的操作
2.
3.系统的功能分析资料维护:系统维护包括对学生信息的录入操作及数据表的信息浏览系统维护可以对数据表中的信息进行浏览系统查询可以对鄂生的信息进行查询
3.
4.系统功能模块学生查询系统有:成绩录入、增加、删除、修改、数据查询、排序显示构成第3章系统详细设计学生信息管理系统要求利用C++面向对象的编程思想来完成系统的设计,除了要突出C++语言的函数特征,以多个函数实现每一个子函数的功能外,还要画出功能模块图;另外,要求我们进行简单界面设计,能够实现又好的交互,熟悉掌握C++对文件的各种操作
3.1设计大纲本《学生成绩管理系统》程序是一个具有对学生信息进行增、册!I、修改、查询等功能的,一切功能都可以在运行的软件中运行1查看有关书籍2建立类3编程主函数4编程各子函数5检查子函数与主函数之间的联系6运行程序,如有错误,仔细检查7错误操作的捕获8查看运行效果
3.2模块框架图模块框架图就是系统的整个大概流程,学生成绩管理系统可以分为操作、查询、成绩统计及按总成绩排名等操作其中操作包括对学生信息的录入、增加、删除及修改查询包括总成绩查询、按学生姓名查询、及输出所有学生的成绩成绩统计又分为每个学生的平均成绩及各科不及格的人数图3-2模块框架图图3-2模块框架图
3.3核心程序设计
(1)头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明如#includeiostream#includestring#includefstream#includesstream#includeiomanip usingnamespace std;.
(2)类的建立包括学生类、成绩类、班级类、课程类,在这里只说明一个程序;例case1:〃数据的录入(char c;〃用于在小项中选择是否继续操作char name
[20];int number;float math,cpp,english;。