《学生成绩管理系统设计与实现26.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计与实现26.docx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、河南工程学院高级程序设计语言课程设计成果报告学生成绩管理系统设计与实现c、*C:Progra* Fileslicrosoft Visual StudiolyProjectsfafdDebugfafd.卬 至11 牛成 1旬系刍充 XXXXXXXXXXXXXXM xl道选择您需要的操作!1数据茅入2增加学生3刷除学生4修筱数据备用:5按姓名查询6)擦券级输出所有学生的数据我攀埠生的平均成绩8各科不及格人数排名9技平均成绩排名1。退出选择相关操作请输入相对的括号里的阿拉伯数字及字母!系统总共有10个模块,分别由1-10表示,输入其他字符无效,(2)通过键盘输入数字10后,程序能够执行相应的功能,执
2、行完后回到上述主菜单继续等待用户输入,输入数字10后退出程序。(3)选择“增加学生成绩记录”后,输入要插入记录的位置。按程序提示依次 输入姓名,学号,成绩,插入记录成功。(4)选择“显示学生成绩记录”,显示学生成绩表中已有的学生记录的个数, 并显示出各个学生记录的相关信息。(5)选择“查找学生成绩记录”,按提示输入要查找的学生的姓名,那么输出相 应的学生信息记录,按相应操作返回主菜单。(6)选择“删除学生成绩记录”,按提示输入要删除的学生的姓名,那么删除相 应的学生记录,按相应操作返回主菜单。(7)选择“按班级查询”那么按提示操作可以的到相应班级的所有的学生成绩信息(以表格的形式输出)。(8)
3、选择“平均成绩”,那么可根据现有的课程各分数的总和除以相应的科目数得到学生的平均成绩;(9)选择“平均成绩排名”,程序会根据输入所保存的数据按平均成绩用循环排序的方法进行排序以得到从大到小的结果。(10)选择“退出学生成绩管理系统”,按任意键退出系统。3. 3数据的录入录入学生的姓名,学号,成绩,cout请输入姓名:/zname;cout请输入学号:z/number;coutmath;cout请输入 C+成绩:cpp;cout(”请输入英语成绩:”endl;cinenglish;作一个文本文档在文件夹中用于显示所录入的数据fstream outfile, infile;outf ile. op
4、en (/zf 1. txt, ios: :out | ios: :app);if(!file) coutzzf 1. txt can not open. n/z;return;outf ilename/z 学号:number 数学成绩: Xmath”C+成绩:cpp外语成绩:englishendl;outfile. close();infile, open(f 1 txt, ios: : in);if(!file) 判断文件是否翻开 cout/zf 1. txt can not open. nz/;return;3.4删除学生信息char c;string xingming, line, s
5、tr, name;do ifstream fin(f1. txt);fstream outfile(f2. txt,ios:trunc|ios:out);作一个文本文档在文件夹中用于显示所录入的数据cout 请输入您要删除的学生的姓名: xingming;while(!fin. eof ()getline (fin,line);istringstream stream(line);name = line. substr(O, line. find(zz ,0);/找到名字,判断是否相等if (name != xingming)outfilelineendl;outf ile. close ()
6、;fin. close ();fstream f(fl. txt,ios:trunc|ios:out);ifstream outf (/zf2. txt);foutf. rdbuf ();outf. close ();f. close ();coutc;if (c!=,y &c!二n)cout“指令错误!请重新输入! “c;)while(c=,y);break;io3. 5按姓名查询char n30;char c;int j=0;int flag;if (i=0)(cout”系统中没有输入数据,请先输入数据! “endl; break;do(flag=0;cout”请输入要查询的名字:“n;f
7、or(int j=0;ji;j+)if(strcmp (n, (*sj). name)=0)(flag;COUt,/ 您 要 查 询 的 学 生 是:(*sj). nameendl;cout,/该生的信息是:学 号:z/ (*s j). numberz/数 学分数: (*s j). mathc+ 分数: (*sj). cpp英语分数:( (*sj). englishendl;)if (flag=0)cout对不起您要查询的学生不存在,请查证后再输 入!c;11if (c!=y &c!二n)cout指令错误!请重新输入:“c;)while(c二二y);break;3. 6按班级输出所有学生的数据
8、(cout所有学生数据如下:endl;ifstream file;file. open(/zf 1. txt, ios: : in);coutfile. rdbuf ();file, close();break;)3.7统计每个学生的平均成绩(if (i=0)(cout系统中没有输入数据,请先输入数据! z,endl; break;for (int m=0; mi; m+)cout (*s m). name/z 学号:(*s m). number*” 总分: (*s m). get_sum() 均分: (*s m). get_aver () endl; break;3. 8统计各学科不及格人数
9、(if (i=0)(cout系统中没有输入数据,请先输入数据!endl; break;12int m, n, k, j ; m=0; n=0; k=0; for(j=0; jmathcppenglish60) k+;cout数学不及格人数为:/zmendl; cout“c+不及格人数为:,nendl; cout英语不及格人数为:/zkendl; break;3. 9按平均成绩排名 3. 10功能实现通过主窗体调用其他窗体,应用系统主控界面包括编辑和记录等 功能模块。记录编辑功能完成学生成绩记录编辑和记录查询功 能。记录查询功能可以对数据各分类的记录进行查询。13第4章系统调试运行4.1(1)运
10、行界面(2)录入数据c C:PrograM FilesMicrosoft Visual SudioMyProjectsfaDeb|XXMMMXMXXMXMXMXM :卬 壬11充 XXXXXXMXXXXXXX谓假设择您需要的操作,一 ,操住乙 、 数据录入 2增加学生 修改薮据 查询: 按姓名查询6套班级输出所有学生的数据 成惠充vf :?)每个学生的平均成绩8各科不及格人数 弭E名(9接平均成绩排名 退出选择相关操作请输入相对的括号里的阿拉伯数字及字母! 除输入姓名:14(3)录入结果:着输入姓名:zhangsan请输入学号:201301请输入数学成绩:89请输入CH成绩:89请输入英语成绩
11、:89zhangsan 学号:201301 数学成绩:89 C成绩:89 外语成绩:89数据录入成功,想继续录入吗y/n)(4)增加学生结果wangwu学号:201303数学成绩:87 C成绩:86外语成绩:87数据录入成功,想继续录入吗(y/n(5)数据删除(6)修改数据15(7)每次操作成功后均会出现:rjTTTWzTl迎到学生成洁者间系 士充 MMMMMMMMMMXMXXXMM适选择您需要的操作!操作:a数据录入2增加学生3删除半生4)修祓数据查询5)按姓名查询6渗痴教输出所有学生的数据成绩统计:7)每个学生的平均成绩8)各科不及格人数除名StuName, c. StuName);thi
12、s-age=c. age;strcpy (this-StuNo, c. StuNo);strcpy (this-sex, c. sex) ;/承载学生类二号(2)学生的成绩信息:建立学生成绩记录类Results,该类是学生成绩记录的集合。包括学生的姓名,学号,课程名称及其成绩,总分,平均分其成员函数那么是问题中总分及平均分,并把它放在头文件中进行封装,要求的改类具体如下class Resultschar name30;int number;float math, cpp, english, average, sum;public:Results ();Results (char n30, in
13、t num, float ma, float cp, float eng);float get_sum();float get_aver();friend void main();Results: :Results ( char n30, int num, float ma, float cp, floateng )strcpy(name,n);number=num;math=ma;cpp=cp;english=eng;)float Results:get_sum()(sum=cpp+english+math;return sum;float Results:get_aver ()(average=get_sum()/3;return average;(3)班级类(继承Results类):介绍学生所在班级class Class:public Resultsprivate:int numb;public:Class ( char n30, int num, float ma, float cp, float eng , int nu) :numb (nu) void display()coutname 30numbermathcppenglishendl;);(4)课程类:3. 2界面设计用户进入系统后,就会看到学生成绩管理系统的主菜单页面。
限制150内