学生成绩管理系统设计与实现23.docx
《学生成绩管理系统设计与实现23.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计与实现23.docx(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、河南工程学院高级程序设计语言课程设计成果报告学生成绩管理系统设计与实现void setmath ();设置数学成绩double getmath()return math;void setprog();设置程序成绩double getprog()return prog;void setphysics ();设置物理成绩double getphysics()return physics;double gettotal () return english+math+physics+prog; 得至U成 绩void display();double PJ() pj= (english+math+phy
2、sics+prog)/4;return pj;/得 到平均成绩(3)班级类的设计班级类主要是以不同班级为成员,其中包括了以班级输出成绩的函数.可以实现对不同班级成绩的区别存储。 class bj:public Student public:学生姓名学号总分学生平均分char name15;char number 15;int sum;double average;double mathl ()return (math0*math3+math1*(1-math2);double englishl()return (english0english3+englishl*(l-english2);do
3、uble computeri()return(computer0*computer3+computer1*(1-computer2););(4)课程类的设计课程类中定义了不同学科的一位数组。例如english3,主要思路是: english0保存为学生的考试成绩,englishl为学生的平时成绩,english3 保存为学生的最后成绩。后面的各个课程都是如此。Class course:public StudentPublic:double english3,math3, physics3. prog3;)2录入数据程序设计输入函数主要是输入要存入的学生信息:姓名,学生的各科成绩等,由于人 数过
4、多,所以就定义了 20个人,以这20个人为代表,录入成绩。录入的时候, 我用到了一个类,其中的各科成绩都有分别的输入,从而保证了程序的条理清晰, 不给人那么凌乱感。case 1: 数据的录入(char c; 用于在小项中选择是否继续操作char name20;int number;float math, cpp, english;do cout请输入姓名:z,name;cout请输入学号:,znumber;cout”请输入数学成绩:”endl;cinmath;cout请输入 C+成绩:cpp;cout“请输入英语成绩:english;fstream outfile, infile; 作一个文本
5、文档在文件夹中用于显 示所录入的数据outfile. open(/zf 1. txt, ios: :out | ios: :app);if(!file) coutzzf 1. txt can not open. n/z;return;outf ilename/, “学号:,number,/ 数学成绩:C+成绩:外语成绩:englishendl;outfile. close();infile, open (f 1 txt, ios: : in);if(!file) 判断文件是否翻开 cout/zf 1. txt can not open. n/z;return;char ch;while (in
6、file, get(ch)coutch;coutendl;infile, close();j+;si=new Tstu(name, number, math, cpp, english);i+;coutc;chrisl=O;do if (c!=y &c!二n) cout指令错误!请重新输入! c;elsechrisl=l;while(chrisl=0);while(c=- y*); 重复输入break;)case 2: 增加学生数据char name20;int number;float math, cpp, english;char c;docout请输入您要增加的学生的姓名:endl;ci
7、nname;cout 请输入你要增加的学生的学号:number;cout请输入数学成绩:math;cout请输入 C+成绩:cpp;coutenglish;fstream outfile, infile;outfile. open(/zf 1. txt, ios: :out | ios: :app);if (!file)|cout/zf 1. txt can not open. n/z;return;)outf ilename/,学号:number数学成绩:C+成绩:cpp 外语成绩:englishendl;outfile. close();infile, open(f 1 txt, ios:
8、 : in);if(!file)coutz,f 1. txt can not open. n/z;return;char h;while(infile. get(h)couth;coutendl;infile, close();j+;si=new Tstu(name, number, math, cpp, english);i+;licout数据录入成功,想继续录入吗(y/n) /zc;if (c!=,y &c!=,n )coutc;while(c=,y);break;3. 3删除数据程序设计此函数主要是以删除学生信息而设计的,方便于管理学生信息,简单明了。case 3:删除学生信息char
9、c;string xingming, line, str, name;do(ifstream fin(f1.txt);fstream outfile(/zf2. txt,ios: : trunc| ios: :out); 作一个文本文档在文件夹中用于显示所录入的数据cout请输入您要删除的学生的姓名:xingming;while(!fin. eof ()(getline(fin, line);istringstream stream(line);name = line, substr (0, line. find( , 0);找到名字,判断是12否相等if (name != xingming)
10、 outfilelineendl;)outfile. close();fin. close ();fstream f (fl. txt,ios:trunc|ios:out);ifstream outf (f2. txt);foutf. rdbuf ();outf. close ();f. close ();coutc;if (c!=y &c!=,n )cout”指令错误!请重新输入! endl;cinc;)while(c=,y);break;133. 4修改数据程序设计数据的修改有助于数据的准确性,以便于以后能准确的利用数据。case 4:修改数据string sname, line, str
11、, name;int nu;float eng, ma, com;int flag;char c;do flag=0;cout请输入您要修改的学生的姓名:;cinname;f stream fin(/zfl. txt,z, ios: : in);of stream outf ile (/zf. txt,ios: : trunc| ios: :out);coutendl;while(!fin. eof () 在文件中查找getline(fin, line);istringstream stream(line);sname = line. substr(0, line. find(/z ,0);i
12、f (name!=sname) outfilelineendl;else flag=l;fin. close ();if(flag=l)14cout请输入修改学生姓名及其新学号,数学,C+和英语成绩:;绩:;绩:入!namenumaconieng;coutendl;outf ilename/,学号:数学成C+成绩:外语成绩:engendl;outfile. close();fstream outf (z/f 1. txt,ios: : trunc | ios: :out);fstream inf (f. txt,ios:in);outfinf. rdbuf()c;coutendl;if (c!
13、=,y &c!=,n )coutc;while(c二二y);break;153. 5查询数据程序设计数据的查询有按总分查询,按学生的姓名查询。case 5 :按总分查询(int j=0;float SUM;char c;int flag;if (i=0)(cout”系统中没有输入数据,请先输入数据! “SUM;for (int j=0;jgetsum () =SUM)(flag=l;cout”您要查询的学生是:(*sj). nameendl;cout“该生的信息为:,endl;cout,, 学号:). number6”数学分数:c+分数:cpp英语分数(*sLj). englishendl;i
14、f (f lag=0) cout对不起!您要查询的学生不存在!,zendl; coutc;16题目学生成绩管理系统设计与实现考核工程考核内容得分平时考核(30分)出勤情况、态度、效率;知识掌握情况、 基本操作技能、知识应用能力、获取知识能力系统设计(20分)分析系统的功能模块编程调试(20分)实现系统的各个功能模块,并完成调试回答下列问题(15分)回答老师针对课程设计提出的问题课程设计报告撰写(10分)严格按照规范要求完成课程设计报告源代码(5分)按照规范要求完成课程设计源代码的排版总评成绩指导教师评语:日期:if (c!=,y &c!二n ) coutc;);while(c二二y);brea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 设计 实现 23
限制150内