《学生成绩管理系统设计与实现74.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计与实现74.docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、河南工程学院高级程序设计语言课程设计成果报告学生成绩管理系统设计与实现cout查询:endl;cout(5)按总成绩查询endl;cout/z(6)按姓名查询endl;cout” (7)输出所有学生的数据endl;cout成绩统计:/zendl;cout (8)每个学生的平均成绩endl;cout,/ (9)各科不及格人数endl;cout排名:z/endl;cout,/ (10)按总分查询排名“endl;coutz/ (11)退出endl;cout选择相关操作请输入相对的括号里的阿拉伯数字及字母!/zp;)while(w=,y);3. 3 switch语句的使用(1)通过switch语句调用
2、不同功能操作do switch(p)easelcase23. 4 case 语句通过case选择不同的功能对程序进行操作功能分为以下:Case 1实现数据录入case 1: 数据的录入char c; 用于在小项中选择是否继续操作char name20;int number;int banji;float pmath, pcpp, penglish, psum, bl, sum, sump;float math, cpp, english;do cout请输入姓名:/zname;cout请输入学号:/znumber;coutbanji;cout请输入数学成绩:“math;coutcpp;cout
3、”请输入英语成绩:“english;cout”请输入平时数学成绩:pmath;coutpcpp;cout请输入平时英语成绩:penglish;coutbl;sum=math+cpp+english;sump=pmath+pcpp+penglish;psum=sump*bl+sum*bl;fstream outfile, infile; 作一个文本文档在文件夹中用于显示所录入的数据outfile. open(/zf 1. txt, ios: :out | ios: :app);if(!file) cout?/f 1. txt can not open. n/z;return;outf i len
4、ame/z X 学号:number 班级:/banji,/ 数学成绩:cpp 成绩:cpp 外语成绩:english 平时数学成绩:pmath *平时 cpp 成绩:pcpp 平时外语成绩:penglish平时总成绩,sump/,总成绩总评成绩psumendl;outfile. close();infile, open(/zf 1. txt, ios: : in);if(!file) 判断文件是否翻开 cout/zf 1. txt can not open. n/z;return;char ch;while (infile, get(ch)coutch;coutc;chrisl=0;doif
5、(c!=y &c!二n ) coutc; (2)case 2实现增加学生增加学生信息同case 1基本相同这里不再展示程序。case 3实现删除学生case 3 :删除学生信息 if (i=0)cout”系统中没有输入数据,请先输入数据!z/endl; break; char c;string xingming, line, str, name;do ifstream fin(f1. txt);fstream outf ile (/zf2. txt,ios: : trunc | ios: :out);作一个文本文档在文件夹中用于显示所录入的数据cout”请输入您要删除的学生的姓名:xingmi
6、ng;while(!fin. eof ()getline(fin, line);istringstream stream(line);name 二 line, substr(0, line, find0);找到名字,判断是否相等 if (name != xingming) outfilelineendl;outfile. close();fin. close ();fstream f(fl. txt,ios:trunc|ios:out);ifstream outf (f2. txt);fc;if (c!=y &c!=n ) cout指令错误!请重新输入!c;case 4实现修改数据 case
7、4 :修改数据string sname, line, str, name;int bj;int nu; float eng, ma, com, peng, pma, pcom, bl; int flag; char c;if (i=0)cout”系统中没有输入数据,请先输入数据! “endl ;break; do flag=0;coutname;fstream fin (zzf 1. txtz/, ios: : in);of stream outf ile (/zf. txt,ios: : trunc | ios: :out);coutendl;while(!fin. eof () ) /在文
8、件中查找getline (fin,line);istringstream stream(line);sname = line, substr (0, line. find(/z ,0);if (name!二sname)outfilelineendl;else flag=l; 11 fin. close ();if(flag=l)coutnamenubjmacomengpmapcompengbl;coutendl;outfilename,学号: *nu班级0bj 数学成绩:cpp 成绩:外语成绩:eng平时数学 成绩:平时cpp成绩:pcom 平时外语成 绩:peng“平时成绩所占比例 blen
9、dl;outfile. close();fstream outf (fl. txt,ios:trunc|ios:out);fstream inf (f. txt,ios:in);outfinf. rdbuf() endl;outf. close ();inf. close () ; if (flag=0) cout”对不起,您要修改的学生不存在!请查 证后输入!endl;coutc;coutendl;if (c!=y &c!=n,)cout,/指令错误!请重新输入! endlc;(4) case 5实现按总成绩查询case 5 :按总分杳询 int j=0;float SUM;char c;i
10、nt flag;if (i=0)cout系统中没有输入数据,请先输入数据!endl; break;12doflag=0;cout请输入您要查询的学生的总成绩:endl;cinSUM;for(int j=0;jgetsum () =SUM)flag=l;cout”您要查询的学生是: (*sj). nameendl;cout“该生的信息为:endl;coutz,学号:(*s j). number班级:(*sj). banji 数学分数:(*sj). math cpp 分数:(*sj). cpp英语分数”(*sj). english 平时数学分数:(*sj).pmath平时cpp分数:(*sj).p
11、cpp平 平时英语分 数penglishendl; if (flag=0) cout对不起!您要查询的学生不存在!Vendl;coutc;if (c!=,y &c!二n )coutc; ;case 6实现按姓名查询case 6:按姓名查询char n20;char c;int j=0;int flag;if (i=0)cout”系统中没有输入数据,请先输入数据!endl ;break; doflag=0;cout请输入要查询的名字: n;for(int j=0;ji;j+)if(strcmp(n, (*sj). name)=O)flag=l;cout您要查询的学生是: (*sj). namee
12、ndl;cout该生的信息是:学号: (*s j).numberV班级:banjiz,数学分数:mathz,cpp 分数:“(*sj). cpp”英语分数:english,/ 平时数学分数:(*sj). pmath平时 cpp 分数:(*sj). pcpp平时英语分 数 (*s j). penglishendl; if (flag-0)cout对不起您要查询的学生不存在,请查证后再输 入!endl;coutc;if (c!=y &c!二n )cout指令错误!请重新输入:,c;while(c=,y);break; (7)case 7实现输出所有学生的数据case 7:输出所有学生数据cout“
13、所有学生数据如下:endl;ifstream file;file. open(/zfl. txt, ios: : in);coutfile. rdbuf ();file, close();break; (8) case 8实现每个学生的平均成绩14case 8:/统计每个学生的平均成绩 if(i=O)cout(”系统中没有输入数据,请先输入数据!,endl;break;for (int m=0;mi;m+)cout (*s m). namez,学号:X (*s m). number班级 ,(*sm). banjiz/ 总分: (*s m). get sum () z,均分:(*sm).geta
14、ver()endl;break;(9) case 9实现各科不及格人数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“数学不及格人数为:,mendl;cout/zcpp 不及格人数为:z/nendl;cout”英语不及格人数为:kendl;break;case 10实现按总分查询排名case 10:按总分排名if(i=0)cout”系统中没有输入数据,请先输入数据! “endl ;break
15、; int h,g, n;int j=0;float a100, temp;for (g=0;gi;g+) aj = (*sg). getsumO ; j+;for (h=O;hi;h+)15for (n=0;nan+l) temp=an;an=an+l;an+l=temp; for (n=l;n=i;n+)coutanendl;break;16题目学生成绩管理系统设计与实现考核工程考核内容得分平时考核(30分)出勤情况、态度、效率;知识掌握情况、 基本操作技能、知识应用能力、获取知识能力系统设计(20分)分析系统的功能模块编程调试(20分)实现系统的各个功能模块,并完成调试回答下列问题(15
16、分)回答老师针对课程设计提出的问题课程设计报告撰写(10分)严格按照规范要求完成课程设计报告源代码(5分)按照规范要求完成课程设计源代码的排版总评成绩指导教师评语:日期:第4章系统调试运行4.1运行界面展示运行程序展示学生成绩查询系统界面供用户选择操作如图4-1:c *E:zjw32Debugzjw_1. exe*XXXXXXXXXXXXXXXXXNj 卬来至11 亍生成芝帚 1旬系 士充 KXXXXXMXXMXXXXXMX适於择您需要的操作!W:、* *数据录入* *4 2)增加 学生* *43蒯除学生4修改数据MMMMM技总成绩查询*( 6按姓名 查询*7输出所有浮生的数据* *成绩统计:
17、* *8)每个学生的平均成绩* *f*增加学生 mmmmmmmC 3 删除学生修改数据. MMXXM* S)按总座纨聋询* * 6按姓名 查询*(7)输出防有浮生的数据成绩统计:*丁(8每个学生的平均成绩f*9)各科木及格人数I y y y y y 匚J . y y y yMMMMNMMM 1 0)按总分查询排名 11)退出怅择相关操作请输入相对的括号里的阿拉伯数字及字母!所有学生数据如下:ZJW学号:2013班级:1342数学成绩:65 平时cpp成绩:88聿时外语成绩:88bcpp成绩:65外语成缚:65平时数学成绩:88 平时总成绩264总竣19 5总评成绩13 7.Ui字号:2013班
18、级:1342数学成绩:65 cpp成绩:6S外语成绩:6S平时数学成绩:88F平时CPP成绩:88年时外语成绩:88平时总成绩264总成绩19S总评成绩137.?您想继续进行其他操作吗? (y/n):图43数据输出界面4.4排名展示用户可对学生成绩进行管理排名方便管理如图4-4XXXXXXXXXXMXXXXX吟欠迎来至“学生门戈女需者询系令?F XXXXXXXXXXXXXXXXX 请选辑姨需要的操作!* * 1,至蛆居录 . Av M M M M M MMMMMMMM增力口学生* *厕除学生* * 4修改数据M X M MB| . MMMMM* * 5按总成绩查询XXXXXXXXXXMXXXX
19、X吟欠迎来至“学生门戈女需者询系令?F XXXXXXXXXXXXXXXXX 请选辑姨需要的操作!* * 1,至蛆居录 . Av M M M M M MMMMMMMM增力口学生* *厕除学生* * 4修改数据M X M MB| . MMMMM* *OXp;if (p=l&p=ll) p指不同的功能操作chrisl=l;elsecout指令错误!请重新输入:endl;while(chrisl=0);(2)通过dowhile语句来实现对程序运行的操作cout,/您想继续进行其他操作吗?(y/n):;int flag=0;do cinw;coutendl;if (w!=,y &w!二n)cout,z指令错误!请重新输入! ”endl;elseflag=l;while(flag=0);if (w=,y,)cout*欢迎来到学生成绩查询系统*endl;cout请选择您需要的操作!endl; 菜单的输出 cout(操作:endl;coutX (1)数据录入“Xendl;coutz/ (2)增加学生“endl;cout(3)删除学生endl;cout (4)修改数据endl;