还剩21页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
河南工程学院《高级程序设计语言》课程设计成果报告学生成绩管理系统设计与实现float ba讦;〃主函数利用循环体执行,实现循环操作:docin»p;ifp=lp=ll chrisl=l;else cout指令错误!请重新输入endl;whilechrisl==O;doswitchpcase1:{数据录入.}〃录入功能case2:{增加学生}〃增加功能case3:{删除学生.}〃删除功能case4乂修改数据}〃修改数据功能case5:{按总成绩查询}〃按成绩查询功能case6:{按姓名查询}〃按姓名查询功能case7乂输出所有学生的数据}〃输出所有的数据case8:{每个学生的平均成绩}〃输出学生的平均分case9{各个学科不及格人数}//查询不及格人数case10:{按总分查询排名}〃总成绩排名}whilew==y;〃循环语句结束根据选择不同的数字及字母课执行不同的case,输出不同的功能例如选择了case4,可执行修改数据的功能,如下Casel执行录入功能使用cin输入流输入学生的相关信息,并创立文件,将所输入的数据存入到文件中程序代码docout请输入姓名endl;〃信息输入过程cin»name;,coukv”请输入学号endl;cin»number;cout1请输入数学成绩endl;cin»math;coutcv1请输入C++成绩”endl;cin»cpp;cout请输入英语成绩,,endl;cin»english;cout请输入数学平时成绩平e成I;cin»mathp;coutcv”请输入C++平时成绩”endl;cin»cppp;cout”请输入英语平时成绩,,endl;cout,**********欢迎来到学生成绩查询系统end”/主菜单cout请选择需要的操作!endl;cout«1数据录入,,endl;cout«2增加学生“endl;cout«3删除学生,,endl;cout«4修改数据endl;cout”查询,,«endl;cout«5按总成绩查询”endl;cout«M6按姓名查询“vvendl;cout«7输出所有学生的数据endl;cout”成绩统计endl;,,cout«8每个学生的平均成绩endl;cout«9各个学科不及格人数endl;cout“排名endl;cout«10按总分查询排名endl;cout«11退出endl;cout”选择相关操作请输入相对的括号里的阿拉伯数字及字母!endl;int p=0;char w;Chengji*s
[100];ofstream*file
[100];int i=0;int j=0;int chrisl=O;float baif;〃主函数利用循环体执行,实现循环操作docin»p;ifp=lp=ll chrisl=l;else cout指令错误!请重新输入endl;case4:执行修改数据功能string sname,line,str,name;int nu;float eng,ma,com;int flag;char c;ifi==O coukv系统中没有输入数据,请先输入数据!〈〈endLbreak;doflag=O;cout请输入您要修改的学生的姓名:;cin»name;fstream finfl.txt,,,ios::in;ofstream outfileCf.txfJosilrunc|ios::out;cout«endl;while!fin.eof〃在文件中查找getlinefinjine;istringstream streamline;sname=line.substrOJine.find H,0;ifname!=snameoutfile«line«endl;else flag=l;fin.close;ifflag=lcout请输入修改学生姓名及其新学号,数学,C++和英语成绩:”endl;cin»name»nu»ma»com»eng;cout«endl;10outfile«name«“学号:数学成绩:ma””C++成绩:”外语成绩:eng«endl;outfile.close;fstream outffl.txt,ios::trunc|ios::out;fstream inff.txt,ios::in;outf«inf.rdbuf«endl;outf.close;inf.close;ifflag=0cout对不起,您要修改的学生不存在!请查证后输入!endl;cout想继续修改吗y/n:;cin»c;cout«endl;ifc!=yc!=,n,cout«指令错误!请重新输入!cin»c;}whilec==y;break;Case5:执行成绩及查询功能用if语句调用getsum判断输入的总分数与数据库中的总分数是否有相同的,并执行输出文件操作程序代码int j=0;float SUM;char c;int flag;ifi==0〃根据前面的叠加判断文件中是否有数据11cout“系统中没有输入数据,请先输入数据!“endl;break;Do〃输入查找的成绩利用函数查找符合条件的数据flag=O;cout〈请输入您要查询的学生的总成绩«endl;cin»SUM;forint j=O;ji;j++ifs[j]-getsum==SUM〃将符合的数据输出flag=l;coukv”您要查询的学生是:«*s[j].name«endl;cout”该生的信息为endl;cout«学号〈〈sUDmumcc数学分数«*s[j].math**s[j].baif+*s[j].mathp*l-*s[j].baif«C++分数”*s[j].cpp**s[j].baif+*s[j].cppp*l-*s[j],baif英语分数«*s[j].english**s[j].baif+*s[j].englishp*l-*s[j].baif«endl;}ifflag==O〃错误操作返回继续cout”对不起!您要查询的学生不存在!vvendl;cout”是否继续查?y/n;cin»c;12通过主函数,do……while语句进行选择,判断,及switch,case进行成绩的查询、修改等等void main{do〃判断输入是否正确cin»p;ifp=lp=ll chrisl=l;else cout指令错误!请重新输入endl;}whilechrisl==O;do{switchpcase1:〃数据的录入char c;〃用于在小项中选择是否继续操作char name
[20];int number;float math,cpp,english;do{cout”请输入姓名:,,«endl;cin»name;cout”请输入学号:endl;cin»number;cout请输入数学成绩«endl;cin»math;cout请输入C++成绩endl;cin»cpp;cout”请输入英语成绩”endl;cin»english;13fstream outfile,infile;〃作一个文本文档在文件夹中用于显示所录入的数据outfile.openfLtxt”,ios::out|ios::app;//定义文件流对象,打开文件if!file〃如果打开失败{cout«fl.txt cannot open.\n;return;}outfile姓名name学号:,number,数学成绩:”“C++成绩:cpp“外语成绩:“englishendl;outfile.close;infile.open“fl.txt,,,ios::in;〃定义输入文件流对象,以输入方式打开文件if!file〃判断文件是否打开{cout«fl.txt cannot open.\n;return;char ch;whileinfile.getch//cout«ch«endl;infile.close;〃关闭磁盘文件j++;s[i]=new Tstuname,number,math,cpp,english;i++;cout”数据录入成功,想继续录入吗y/n”endl;cin»c;chrisl=O;14第4章系统调试运行
1.1系统测试及调试分析模块测试寻找程序或详细设计中的错误;子系统测试又称分调,把经测试的模块放在一起形成一个子系统来测试;系统总测试即把一个模块装成若干子系统并充分测试根据检验程序的可靠性,用多组测试用例调试分析系统的正确性,完备性等各项性能指标,主要是对程序的所有功能的检验,用多组数据并与自己的掌握和可测的事实结果进行比较,来判断程序是否正确要求一次检验程序的每个功能,都要有多种数据
[1]谭浩强编著《C++程序设计题解与上机指导》清华大学出版社⑵谭浩强编著《C++程序设计》清华大学出版社
[3]钱能编著《C++程序设计教程》清华大学出版社
1.1课程设计目的在计算机领域中,任何好的创意和设计最终都需要通过高水平的程序设计实现,因此学习程序设计是计算机及相关专业学生必备的基本技能之一为了使学生更好的学习和掌握这一基本技能,必须系统而全面地的安排程序设计课程设计,目的是通过具体的课程设计,不仅使学生能够进一步理解程序设计的基本概念,掌握基本的程序设计方法,培养良好的程序设计风格,同时还可以借助程序设计技巧的训练,培养学生抽象思维、逻辑思维及统筹规划的能力
1.2课程设计要求
(1)设计四个类;学生类(描述学生基本信息);成绩类班级类;课程类(描述课程信息课程编号,科目名称(如高等数学,大学英语等);学生成绩及课程信息用文件保存,每个类一个文件,程序执行时从文件读入;
(2)能按学期,按班级完成对学生成绩的录入,修改,能按班级统计学生的成绩;求学生的总分及平均分;并能根据学生的平均成绩进行排序,能查询学生成绩,不及格科目及学生名单;能按班级输出学生的成绩单;
(3)设置学生的成绩信息学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比;
(4)计算学生总评成绩总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比);
(5)显示学生的姓名、所选课程名称以及平时成绩、期末成绩和总评成绩信息分单人显示和以班输出(班成绩单格式输出到文件);注意至少一个班,30人三门课第2章系统分析
2.1需求分析学生成绩管理系统应该完成以下几个方面的的内容学生档案资料的管理、学生成绩的管理包括必修课和选修课,每个内容均需要提供添加、修改和查询的功能学生成绩管理系统在开发过程中收集到的客户需求提供文档记录的关键部分可概括为以下几个部分a.能对学生各科成绩进行录入:b.能对学生的成绩进行增加c..能对学生的成绩进行删除d.能对学生的成绩进行修改e.能对学生的成绩按总成绩,姓名,进行查询f.能输出学生的所有数据g.能进行成绩统计h.能进行总分查询排名
2.2系统性能要求1易于维护和扩充资料维护系统维护包括对学生信息的录入操作及数据表中的信息进行系统功能可以对数据表中的信息进行浏览系统查询可以对学生的信息
2.3系统功能分析对于学生而言,成绩等属于个人信息,因此要求系统有一定的安全性,能够保护学生的基本信息而随扩充和修改因此系统功能要求如下1资料维护系统维护包括对学生信息的录入操作及数据表中的信息进行浏览2系统功能可以对数据表中的信息进行浏览3系统查询可以对学生的信息进行查询4学生输入自己信息,可以实现对自己资料的查询第3章系统详细设计
3.1系统功能模块设计及分析学生成绩查询系统有成绩录入、增加、删除、修改,数据查询,排序显示构成功能分析如下1输入学生资料,输出学生资料模块;
2.按学生姓名进行排列模块;
3.添加学生资料模块;
4.按姓名查找,删除该学生资料模块;
5.查找并显示学生学生资料模块;
6.按姓名查找,修改学生资料模块;
7.从文件中读入数据模块;
8.储存学生并退出系统模块
3.2模块框架图
1.程序中包含类与主函数,类构成了程序的数据管理与存放区在主函数中包括多种功能以类为依托构成程序框架,在主函数中实现每一个功能类与功能共同构成程序框架3-2模块框架图
3.3系统实现
1.界面设计界面设计是人与机器之间传递和交换信息的媒介,FaceUI称包括硬件界面和软件界面,是计算机科学与心理学、设计艺术学、认知科学和人机工程学的交叉研究领域程序运行后会出现一个简捷的窗口,便于用户查询数据**************欢^^求^至ij学:生^成^杳:-询系幺充**************请选择需要的操作!1数据录入2增加学生3删除学生4修改数据5按总成绩查询6按姓名查询7输出所有学生的数据8每个学生的平均成绩9各个学科不及格人数排名:10按总分查询排名11退出选择相关操作请输入相对的括号里的阿拉伯数字其相应程序为cout**********欢迎来到学生成绩查询系统〈endl;〃主菜单coutv”请选择需要的操作!“endl;,,cout«1数据录入endl;,,cout«2增加学生endl;,,cout«3删除学生endl;cout«4修改数据endl;cout查询endl;cout«5按总成绩查询”endl;cout«H6按姓名查询”endl;cout«7输出所有学生的数据endl;cout成绩统计endl;cout«8每个学生的平均成绩”endl;cout«9各个学科不及格人数endl;cout“排名endl;cout«10按总分查询排名,,endl;cout«11退出“endl;cout选择相关操作请输入相对的括号里的阿拉伯数字及字母!«endl;int p=0;char w;Chengji*s
[100];ofstream*file
[100];int i=0;int j=0;int chrisl=0;。