《学生成绩管理系统设计与实现54.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计与实现54.docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、河南工程学院高级程序设计语言课程设计成果报告学生成绩管理系统设计与实现绩:math C+成绩:cpp “外语成绩: englishendl;outfile.close();infile.open(fl.txt,ios:in);if(!file)(coutfl.txt can not open.n;return;char h;while(infile.get(h)couth;coutendl;infile.close();j+;si=new Tstu(name,number, math, cpp, english);i+;cout数据录入成功,想继续录入吗(y/n)”endl;cinc;if(c
2、!=y,&c!=n)(cout指令错误!请重新输入! endl;cinc;)while(c=y);break;)3 .学生数据的删除:case 3:删除学生信息 char c;string xingmingjine,str,name;do ifstreamfstream outfile(f2.txt:ios:trunc|ios:out); /作一个文本 文档在文件夹中用于显示所录入的数据coukv请输入您要删除的学生的姓名:endl;cinxingming;while(!fin.eof()(getline(finjine);istringstream stream(line);name = l
3、ine.substr(OJine.find- -0);找到名字,判 断是否相等if(name != xingming)outfilelineendl;)outfile.close();fin.close();fstream fCfl.txfJostrunc|ios:out);ifstream outf(f2.txt);foutf.rdbuf();outf.close();f.close();cout数据删除成功,想继续删除吗(y/n)endl;4 .学生数据的修改:case 4:修改数据(string snamejine,str,name;8int nu;float eng,mazcom;in
4、t flag;char c;if(i=O) (cout系统中没有输入数据,请先输入数据!endl;break;) do ( flag=O;cout请输入您要修改的学生的姓名:;cinname;fstream finCfl.txfJosin);of st ream outfile(,f.txt,ios:trunc |ios:out);coutendl;while(!fin.eof() 在文件中查找 (getline(finjine);istringstream stream(line);sname = line.substr(OJine.find( ,0);if(name!=sname)(out
5、filelineendl;)else flag=l;)fin.close();if(flag=l)(cout请输入修改学生姓名及其新学号,数学,C+ 和英语成绩:;cinnamenumacomeng;9coutendl;outfilename 学号:nu 数学成绩:”C+成绩:com 外语成绩:engendl;outfile.close();fstream outf(fl.txtJos:trunc|ios:out);f st ream inf(f.txt,ios:in);outfinf.rdbuf()endl;outf.close();inf.close();)if(flag=0)cout对不
6、起,您要修改的学生不存在!请查 证后输入! endl;cout想继续修改吗(y/n):;cinc;coutendl;if(c!=,y,&c!=,n,)(cout指令错误!请重新输入! endl cinc;)while(c=y);break;).学生成绩按总分、姓名查询:case 5:按总分查询(int j=0;float SUM;char c;int flag;if(i=0)10coukv系统中没有输入数据,请先输入数据!endl;break; )do ( flag=O; coukv请输入您要查询的学生的总成绩:endl; cinSUM;for(int j=O;jgetsum()=SUM) (
7、 flag=l;coukv”您要查询的学生 :(*sj).nameendl;coutcv”该生的信息为cvendl;cout学号:(*sj).number” 数学分 数:“(*sj).math C+分数:(*sj).cpp” 英语分数 (*sj).englishendl;) ) if(flag=0)cout“对不起!您要查询的学生不存 在!,endl;coukv”是否继续查?(y/n):;cinc;if(c!=y,&c!=n) (cout指令错误!请重新输入! endl;cinc;);iiwhile(c=y);break;)case 6:按姓名查询(char n20;char c;int j=
8、O;int flag;if(i=O)(cout系统中没有输入数据,请先输入数据!endl;break;)do(flag=O;coukv请输入要查询的名字:endl;cinn;for(int j=O;ji;j+)( if(strcmp(n,(*sj).name)=O) (flag=l;coutvv1您要查询的学生 :(*sj).nameendl;coutcv该生的信息是:学号:(*sj).number” 数学分数: v(*sj),math*,c+分数-(sUD.cppvv英语分 数:,(*sj).englishendl;).输出所有学生数据:12case 7:输出所有学生数据cout所有学生数据
9、如下:“endl;ifstream file;file.open(fl.txt,ios:in);coutfile.rdbuf();file.close();break;5 .统计学生的平均成绩:case 8:统计每个学生的平均成绩(if(i=0)(cout系统中没有输入数据,请先输入数据!endl;break;)for(int m=0;mi;m+)(cout(*sm).name学号:“(*sm).number” 总分:“v(*sm).getsum()“ 均分:“(*sm).getaver() Fileslicrosoft Visual StudiolyProjectssdDebugsd. ex
10、e*XXXXXXXXX -欢迎来到学生成绩查询系统*谓迤择您需要的操作!一 3居据芯人2增加学生3刷除学生 4修祓数据*询: 5找总成绩查询6;安毋名查询输串所有举生的数据成绩统计:8)鞋个学生的平均成绩9各科不及格人数排名:3。揍总分查询排名31.)退出选择相关操作请输入相对的括号里的阿拉伯数字及字母!Ld图4-1学生成绩查询系统主界面手择相关操作请输入相对的括号里的阿拉伯数字及字母!,输入姓名:zhangsan请输入学号:20130001请输入数学成绩:89请输入C + +成绩:76另输入英语成绩:80zhangsan 学号: 20130001 数学成绩:89 C 成绩:76 外语成绩:8
11、 0数据录入成功,想继续录入吗 Fileslicrosoft Visual StudiolyProjectssdDebugsd. exe* |5按总成绩查询 rilesMicrosoft Visual bxudioyFrojecTscxDebugcx. exe MglxxxxxxxMxxxxxxxxxXKj口 来到于赤j旬 系气干充丈兴充丈兴充拜兴充拜兴丈夫共是否继续查y/n:图4-6学生成绩查询16xxxxxxxMxxxxxxxxxXKj口 来到于赤j旬 系气干充丈兴充丈兴充拜兴充拜兴丈夫共是否继续查y/n:图4-6学生成绩查询16谓注择您需要的操作!-谓作:3数据苹入增加半生(3知除半生4
12、修筱数据善询:5按总成绩查询6;安姓名查询7淘出所有学生的数据成绩镒计:区籍辱生的平均成绩9各科不及格人数排名:30技总分查询排名11.退出选择相关操作请输入相对的括号里的阿拉伯数字及字母!4请输入您要修改的学生的姓名:xiaoning 请输入修改学生姓名及其新学号,数学,请输入您要修改的学生的姓名:xiaoning 请输入修改学生姓名及其新学号,数学,c + 和英语成绩:x iao ming11878988图4-5学生数据的修改c 迎来主 |J ,于生成 者询国 充 XXXXXXXXXXXXXXXXX酒唾择您需要的操作!数据茎入2增加学生43删除学生4)修筱数据 询:5)按总成绩查询46按姓
13、名者询葭矗即有举生的数据治海?学生的平均成绩 Fileslicrosoft Visual StudioIyProjectscxDebugcx. exe*题目学生成绩管理系统设计与实现考核工程考核内容得分平时考核(30分)出勤情况、态度、效率;知识掌握情况、 基本操作技能、知识应用能力、获取知识能力系统设计(20分)分析系统的功能模块编程调试(20分)实现系统的各个功能模块,并完成调试回答下列问题(15分)回答老师针对课程设计提出的问题课程设计报告撰写(10分)严格按照规范要求完成课程设计报告源代码(5分)按照规范要求完成课程设计源代码的排版总评成绩指导教师评语:日期:c、 *C:Progra
14、Fileslicrosoft Visual StudioMyProjectscxDebugcx.exe*2增加率生3刷除学生4修祓数据查说(5转总成绩查询6按旌覆询民,黑有船的数据8淘个学生的平均成绩“各科不及格人数排名0按总分查询排名 Fileslicrosoft Visual StudioMyProjectscxDebugcx.exe*-问X您想继续进行其他操作吗? y/n): yzxxxxxxxxxxxxxxx拜欢迎来到学生成绩查询系统*董堡择您需要的操作!一操作:“数据与入2增加学生C嗣除学生4修祓数据5按总成绩查询6:安姓名查询淘出所有学生的数据康绩绕计:%)堆厚生的平均成绩3各科不
15、及格人数腓名:10技总分查询排名 Fileslicrosoft Visual StudiolyProjectssdDebugsd. exe*MMMXXMMMXXMMMXMXXr j卬月主|月戈纬杳;系 气充*MMMMM*MM*MM谓注择您需要的操作!攥作:工数据录入2增加学生3删除学生4修诙会据5按总成缄查询6按姓名叁闻喻 甘所有举生的数据成绩统计:8)每个学生的平均成绩9各科不及格人数排名:3。技总分查询排名31退田选择相关操作请输入相对的括号里的阿拉伯数字及字母!图3-1学生成绩查询系统主界面3. 2功能设计与实现1 .学生数据的录入:case 1: 数据的录入(char c; 用于在小项
16、中选择是否继续操作char name20;int number;float math,cpp,english;docout”请输入姓名:endl;cinname;cout”请输入学号:endl;cinnumber;cout请输入数学成绩:endl;cinmath;coutv请输入 C+成绩:endl;cincpp;cout”请输入英语成绩:“endl;cinenglish;fstream outfile,infile; 作一个文本文档在文件夹中用于显示所录入的 数据outfile.open(fl.txt,ios:out | ios:app); coutfl.txt can not open.n
17、;return;)outfilename cv11 学号:ccnumbeyv ”数学成绩:上小坨!“”C+成绩:cpp 外语成绩:englishendl;outfile.close();infile.open(fl.txt,ios:in);if(!fi判断文件是否翻开 coutfl.txt can not open.nH;return;char ch;while(infile.get(ch)coutch;coutendl;infile.close();j+;si=new Tstu(name, number,math, cpp, english);5i+;cout数据录入成功,想继续录入吗(y/
18、nyvvendl;2.学生数据的增加:case 2: 增加学生数据(char name20;int number;float math,cpp,english;char c;do(cout”请输入您要增加的学生的姓名:endl;cinname;cout请输入你要增加的学生的学号:endl;cinnumber;cout请输入数学成绩:endl;cinmath;cout请输入 C+成绩:endl;cincpp;cout”请输入英语成绩:endl;cinenglish;fstream outfile,infile;outfile.open(fl.txt,ios:out | ios:app);if(!file)(coutfl.txt can not open.n;return;outfilename v学号:number 数学成