还剩22页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
河南工程学院《高级程序设计语言》课程设计成果报告学生成绩管理系统设计与实现绩:math C++成绩:cpp“外语成绩:english«endl;outfile.close;infile.openfl.txt,ios::in;if!filecout«fl.txt cannot open.\n;return;}char h;whileinfile.geth cout«h;cout«endl;infile.close;j++;s[i]=new Tstuname,number,math,cpp,english;i++;cout数据录入成功,想继续录入吗y/n”endl;cin»c;ifc!=y,c!=ncout指令错误!请重新输入!endl;cin»c;}whilec==y;break;
3.学生数据的删除case3:〃删除学生信息char c;string xingmingjine,str,name;do{ifstream fstream outfilef
2.txt:ios::trunc|ios::out;//作一个文本文档在文件夹中用于显示所录入的数据coukv请输入您要删除的学生的姓名endl;cin»xingming;while!fin.eofgetlinefinjine;istringstream streamline;name=line.substrOJine.find--0;〃找到名字,判断是否相等ifname!=xingming outfile«line«endl;outfile.close;fin.close;fstream fCfl.txfJos^trunc|ios::out;ifstream outff
2.txt;f«outf.rdbuf;outf.close;f.close;cout数据删除成功,想继续删除吗y/n«endl;
4.学生数据的修改case4:〃修改数据string snamejine,str,name;8int nu;float eng,maz com;int flag;char c;ifi==Ocout系统中没有输入数据,请先输入数据!endl;break;doflag=O;cout请输入您要修改的学生的姓名:;cin»name;fstream finCfl.txfJos^in;of streamoutfile,,f.txt,ios::trunc|ios::out;cout«endl;while!fin.eof〃在文件中查找getlinefinjine;istringstream streamline;sname=line.substrOJine.find,0;ifname!=snameoutfile«line«endl;else flag=l;fin.close;ifflag=lcout请输入修改学生姓名及其新学号,数学,C++和英语成绩:;cin»name»nu»ma»com»eng;9cout«endl;outfile«name«学号:nu数学成绩:””C++成绩:com外语成绩:eng«endl;outfile.close;fstream outffl.txtJos::trunc|ios::out;f stream inff.txt,ios::in;outf«inf.rdbuf«endl;outf.close;inf.close;ifflag=0cout对不起,您要修改的学生不存在!请查证后输入!endl;cout想继续修改吗y/n:;cin»c;cout«endl;ifc!=,y,c!=,n,cout«指令错误!请重新输入!endl cin»c;}whilec==y;break;
5.学生成绩按总分、姓名查询case5:〃按总分查询int j=0;float SUM;char c;int flag;ifi==010coukv系统中没有输入数据,请先输入数据!endl;break;doflag=O;coukv请输入您要查询的学生的总成绩«endl;cin»SUM;forint j=O;ji;j++ifs[j]-getsum==SUMflag=l;coukv”您要查询的学生^:«*s[j].name«endl;coutcv”该生的信息为「cvendl;cout«学号:*s[j].number”数学分数:“*s[j].math C++分数:*s[j].cpp”英语分数«*s[j].english«endl;ifflag==0cout“对不起!您要查询的学生不存,在!endl;coukv”是否继续查y/n:;cin»c;ifc!=y,c!=ncout指令错误!请重新输入!endl;cin»c;;ii}whilec==y;break;case6:〃按姓名查询char n
[20];char c;int j=O;int flag;ifi==Ocout系统中没有输入数据,请先输入数据!endl;break;doflag=O;coukv请输入要查询的名字:«endl;cin»n;forint j=O;ji;j++ifstrcmpn,*s[j].name==Oflag=l;coutvv1您要查询的学生^:«*s[j].name«endl;coutcv该生的信息是:学号:*s[j].number”数学分数:v*s[j],math«*,c++分数-〈〈sUD.cppvv英语分数,,*s[j].englishendl;
6.输出所有学生数据:12case7:〃输出所有学生数据cout所有学生数据如下:“endl;ifstream file;file.openfl.txt,ios::in;cout«file.rdbuf;file.close;break;}
7.统计学生的平均成绩case8:〃统计每个学生的平均成绩ifi==0cout系统中没有输入数据,请先输入数据!endl;break;forint m=0;mi;m++cout«*s[m].name«学号:“*s[m].number”总分:“v*s[m].getsum“均分:“*s[m].getaverendl;13第4章系统调试运行c\*C:\Progra Files\licrosoft VisualStudio\lyProjects\sd\Debug\sd.exe*-l°IH XXXXXXXXX-»欢迎来到学生成绩查询系统******************谓迤择您需要的操作!一’3〉居据芯人〈2〉增加学生〈3〉刷除学生4〉修祓数据*询5〉找总成绩查询6〉;安毋名查询⑺输串所有举生的数据成绩统计8)鞋个学生的平均成绩《9〉各科不及格人数排名3〉揍总分查询排名
31.)退出选择相关操作请输入相对的括号里的阿拉伯数字及字母!图4-1学生成绩查询系统主界面手择相关操作请输入相对的括号里的阿拉伯数字及字母!,输入姓名:zhangsan Ld请输入学号20130001请输入数学成绩89请输入C++成绩76另输入英语成绩80zhangsan学号:20130001数学成绩89C♦♦成绩76外语成绩80数据录入成功,想继续录入吗y/n〉图4-2学生成绩的录入14c\*C:\Progra Files\licrosoft VisualStudio\lyProjects\sd\Debug\sd.exe*|5〉按总成绩查询6〉演姓名查询⑺输出所有军生的数据成绩经甘卷〉每席生生的平均成绩《9)各科不及格人数排名-〈10〉按总分查询排名《11》退出选择相关操作请输入相对的括号里的阿拉伯数字及字母!1请输△姓名:xiaoning请输入字号输入数学成绩88请输入C成绩90请输入英语成绩100xiaoning学号数学成绩88C1成绩90外语成绩100数据录入成功,想继续录入吗图4-3学生数据的增加图4-4学生数据的删除15c、C:\Progra riles\Microsoft Visualbxudio\yFrojecTs\cx\Debug\cx.exe MglxxxxxxxMxxxxxxxxxXKj「口来到于赤j旬系气干充丈兴充丈兴充拜兴充拜兴丈夫共†谓注择您需要的操作!-谓作3〉数据苹入⑵增加半生(3〉知除半生《4》修筱数据善询5〉按总成绩查询《6〉;安姓名查询〈7淘出所有学生的数据成绩镒计区籍辱生的平均成绩〈9〉各科不及格人数排名30〉技总分查询排名《
11.〉退出选择相关操作请输入相对的括号里的阿拉伯数字及字母!4请输入您要修改的学生的姓名xiaoning请+c♦和英语成绩:x iaoming1187输88入修改学89生姓名及其新学号,数学,图4-5学生数据的修改c\†‡C:\Progra Files\licrosoft VisualStudio\IyProjects\cx\Debug\cx.exe*是否继续查y/n》图4-6学生成绩查询16迎来主|J,于生成者^询国±充XXXXXXXXXXXXXXXXX酒唾择您需要的操作!’—‘■〉数据茎入〈2〉增加学生43〉删除学生4)修筱数据‡询5)按总成绩查询46〉按姓名者询葭矗即有举生的数据治海学生的平均成绩9〉各科不及格人数排名-“0〉技总分查询排名题目学生成绩管理系统设计与实现考核项目考核内容得分(30分)出勤情况、态度、效率;知识掌握情况、平时考核基本操作技能、知识应用能力、获取知识能力系统设计(20分)分析系统的功能模块编程调试(20分)实现系统的各个功能模块,并完成调试回答问题(15分)回答老师针对课程设计提出的问题课程设计报告撰写(10分)严格按照规范要求完成课程设计报告源代码(5分)按照规范要求完成课程设计源代码的排版总评成绩指导教师评语:《11》退出选择相关操作请输入相对的括号里的阿拉伯数字及字母!曾输入您要查询的学生的总成绩300您要查询的学生是xiaoning该生的信息如学芳工教学分数100—分数100英语分数[00日期:c、*C:\Progra Files\licrosoft VisualStudio\MyProjects\cx\Debug\cx.exe*2〉增加率生〈3〉刷除学生4〉修祓数据查说5〉转总成绩查询〈6》按旌々覆询民,黑有船的数据8’淘个学生的平均成绩“〉各科不及格人数排名°0〉按总分查询排名711〉退出选所择有相学关生操数作建请如输下入相对的括号里的阿拉伯数字及字母!xioaming孥号数学成绩98C—成绩56外语成绩56xiaoning学号n1数学成绩87C—成绩88外语成绩89xiaoming华号:H数学成绩45C1成绩54外语成绩45Laoning学号1数学成绩00C—成绩工00外语成绩工00xiaobua学号2数学成绩:99C1成绩99外语成绩99您想继续进行其他操作吗n〉图4-7输出每个学生的数据*C:\Progra Files\licrosoft VisualStudio\MyProjects\cx\Debug\cx.exe*-问X您想继续进行其他操作吗y/ny zxxxxxxxxxxxxxxx拜欢迎来到学生成绩查询系统********董堡择您需要的操作!一操作“〉数据与入〈2〉增加学生C〉嗣除学生4〉修祓数据5〉按总成绩查询6〉安姓名查询«淘出所有学生的数据康绩绕计%堆¥厚生的平均成绩3〉各科不及格人数腓名:810〉技总分查询排名「・・11〉退田xiaoming鼠总分208均分
69.3333总分185^4^:
61.6667总分选择相关操作请输入相对的括号里的阿拉伯数字及字母!xiaoliua188均分
22.4系统功能模块错误!未定义书签
1.1课程设计的内容
(1)设计四个类,包括学生类(描述学生基本信息);成绩类班级类;课程类(描述课程信息课程编号,科目名称,如高等数学,大学英语等);
(2)学生成绩及课程信息用文件保存,程序执行时从文件读入;
(3)能按学期,按班级完成对学生成绩的录入、修改,能按班级统计学生的成绩;
(4)求学生的总分及平均分,并能根据学生的平均成绩进行排序,能查询学生成绩,不及格科目及学生名单;能按班级输出学生的成绩单-设置学生的成绩信息学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比-计算学生总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比)-显示学生的姓名、所选课程名称以及平时成绩、期末成绩和总评成绩信息分单人显示和以班输出(班成绩单格式输出到文件)-注意,至少应包含一个班、30人、三门课
1.2课程设计的要求根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程序.对给出的程序源代码要给出各部分的详细注释.自己根据能力及需要添加相应功能模块,增强模拟系统功能包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计,数据库中的表、视图(如果使用)、索引的结构和定义、触发器、存储过程、课程设计体验第2章系统实现思路
2.1需求分析a.能对学生各科成绩进行录入b.能对学生的成绩进行增加c.能对学生的成绩进行删除e.能对学生的成绩按总成绩,姓名,进行查询f.能输出学生的所有数据g.能进行成绩统计h能进行总分查询排名
2.2系统性能要求a.系统安全、可靠;b.功能齐全;c.操作方便、界面友好;d易于维护和扩充
2.3系统的功能分析资料维护系统维护包括对学生信息的录入操作及数据表中的信息进行浏览系统功能可以对数据表中的信息进行浏览系统查询可以对学生的信息进行查询
2.4系统功能模块学生成绩查询系统有成绩录入、增加、删除、修改,数据查询,排序显示构成
2.5模块框架图学生成绩查询系统图包括操作、查询、成绩统计、按总成绩排名图2-1学生成绩管理系统图框第3章系统详细设计
3.1界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据c、*C:\Progra Files\licrosoft VisualStudio\lyProjects\sd\Debug\sd.exe*MMMXXMMMXXMMMXMXX^r j卬月]主|月戈纬^杳;系气充**MMMMM***MM***MM谓注择您需要的操作!’—’攥作工〉数据录入《2》增加学生3〉删除学生4〉修诙会据5〉按总成缄查询《6〉按姓名叁闻⑺喻甘所有举生的数据成绩统计《8每个学生的平均成绩9〉各科不及格人数排名3〉技总分查询排名31〉退田选择相关操作请输入相对的括号里的阿拉伯数字及字母!图3-1学生成绩查询系统主界面
3.2功能设计与实现
1.学生数据的录入case1:〃数据的录入char c;〃用于在小项中选择是否继续操作char name
[20];int number;float math,cpp,english;do{cout”请输入姓名:endl;cin»name;cout”请输入学号:endl;cin»number;cout请输入数学成绩:«endl;cin»math;coutv请输入C++成绩«endl;cin»cpp;cout”请输入英语成绩“endl;cin»english;fstream outfile,infile;〃作一个文本文档在文件夹中用于显示所录入的数据outfile.openfl.txt,ios::out|ios::app;{cout«fl.txt cannot open.\n;return;outfile«name«cv11学号:ccnumbeyv”数学成绩:上小
③坨«!’“”C++成绩:cpp外语成绩:englishendl;outfile.close;infile.openfl.txt,ios::in;if!fi⑹〃判断文件是否打开{cout«fl.txt cannot open.\n H;return;}char ch;whileinfile.getch cout«ch;cout«endl;infile.close;j++;s[i]=new Tstuname,number,math,cpp,english;5i++;cout数据录入成功,想继续录入吗y/nyvvendl;
2.学生数据的增加case2:〃增加学生数据char name
[20];int number;float math,cpp,english;char c;docout”请输入您要增加的学生的姓名«endl;cin»name;cout请输入你要增加的学生的学号:endl;cin»number;cout请输入数学成绩«endl;cin»math;cout请输入C++成绩endl;cin»cpp;cout”请输入英语成绩endl;cin»english;fstream outfile,infile;outfile.openfl.txt,ios::out|ios::app;if!filecout«fl.txt cannot open.\n;return;}outfile«name«〈v学号:number数学成。