C++课程设计报告电话留言箱_第1页
C++课程设计报告电话留言箱_第2页
C++课程设计报告电话留言箱_第3页
C++课程设计报告电话留言箱_第4页
C++课程设计报告电话留言箱_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录评分表2摘要3一、问题分析4二、结构分析51系统类结构5 2主函数结构6 3uml图6三、功能介绍7四、实验过程9五、系统调试11六、使用说明11七、实验心得12附:源代码13摘要经过一个学期对面向对象程序设计的学习,我们都认为真正的学到了有用知识,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。本系统是研究生初试录取管理系统,可以利用它来确定所录取的考生。系统界面清楚明了,操作简单易懂

2、。该系统主要包含以下几个模块:考生人数的输入,考生信息的输入,录取条件的输入,录取信息的输出,将信息保存于文件中。本文首先介绍了该系统的详细设计过程:问题的分析、结构分析,功能介绍、实现过程,系统的调试过程,以及该系统的使用说明。最后对在本系统开发过程中的问题进行了总结。平时不努力,现在着急了吧!扈神赶紧好好学习吧!一、问题分析1问题描述研究生考试课程为4门,其中数学、外语、政治为统一命题,而专业基础课则根据不同的专业由招生学校自行命题。国家对初试录取分数有总分要求(如某一年要求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷最低应达到40分,总分为150的试卷

3、最低应达到65分)。编程统计初试合格的人数,并按总分由高到低的顺序输出合格考生的信息。2基本要求程序运行时首先要求输入:考生姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩。这些原始数据应保存到一个文件中。然后输入专业要求,各课程的最低分数要求,录取的总分要求。将符合要求的考生的姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩及总分,这些信息应存放到另一个文件中。3测试数据程序应输入不少于10名考生的信息,其中应届生和历届生分别有若干名,考生专业不都相同,并且都有合格和不合格的情况。4实现方式定义两个类分别记录考生信息与录取要

4、求,在主函数中通过类的使用实现。5所涉及知识点类的定义与引用;if判断语句的使用;构造函数的定义与使用;函数的定义与调用;函数的重载;利用for循环语句排序;文件的打开关闭、输入输出;二、结构分析1系统类结构student类(定义考生信息)数据成员:考生姓名name准考证号number报考专业major应届/历届state数学成绩mathscore外语成绩languagescore政治成绩policyscore专业课成绩majorscore总分sumscore函数成员:计算总分的函数add()无参构造函数student定义带参数构造函数student重载函数(对=运算符进行重载)student

5、&student:operator=(student & s)condition类(定义录取条件)数据成员:录取专业c_maj;录取数学最低成绩c_math;录取外语最低成绩c_language;录取政治最低成绩c_policy;录取专业课最低成绩 c_major;录取总分最低成绩c_sumscore;函数成员:无参的构造函数(用于输入录取条件)condition() 2主函数结构主函数main()输入考生信息将考生信息输入文件中将录取信息输入文件中判断考生是否符合录取条件排序3uml图三、功能介绍1输入报考研究生人数 static int j=0; /统计录取人数coutn; student

6、 *a=new studentn;2输入各研究生的信息cout请输入研究生的信息!endl;for(int k=0;kn;k+);coutak.number;coutak.major;coutak.state;coutak.mathscore;coutak.languagescore;coutak.policyscore;coutak.majorscore;coutendl; 3输入录取条件condition c;4将考生信息输入文件中file1.open(f:考生信息.txt,ios:out); /将考生信息写入文件中file1ttt*考生信息*endl;file1考生

7、姓名 准考证号 报考专业 应届(y)/历届(l) 数学 外语 政治 专业课 总分endl;for(int i=0;in;i+)file1setw(8)setw(9)ai.numbersetw(12)ai.majorsetw(10)ai.statesetw(12)ai.mathscoresetw(6)ai.languagescoresetw(6)ai.policyscoresetw(7)ai.majorscoresetw(8)ai.add()endl;file1.close();5将录取考生信息排序for(int p=0; pn;p+) /将考生按总分从高到低排序 student

8、t(0,0,0,0,0,0,0,0); t=ap; for(int q=p+1; q=2;q+) if(t.add()aq.add() ap=aq; aq=t; t=ap; 6将录取信息输入文件中file2.open(f:考生录取信息.txt,ios:out); file2ttt*录取结果*endl;file2考生姓名 准考证号 报考专业 应届(y)/历届(l) 数学 外语 政治 专业课 总分endl;coutttt*录取结果*endl;cout考生姓名 准考证号 报考专业 应届(y)/历届(l) 数学 外语 政治 专业课 总分endl;for(i=0;i=c.c_sumscore)&(ai.

9、mathscore=c.c_math)&(ai.languagescore=c.c_language)&(ai.policyscore=c.c_policy)&(ai.majorscore=c.c_major)j=j+1;coutsetw(8)setw(9)ai.numbersetw(12)ai.majorsetw(10)ai.statesetw(12)ai.mathscoresetw(6)ai.languagescoresetw(6)ai.policyscoresetw(7)ai.majorscoresetw(8)ai.add()endl;file2setw(8)

10、setw(9)ai.numbersetw(12)ai.majorsetw(10)ai.statesetw(12)ai.mathscoresetw(6)ai.languagescoresetw(6)ai.policyscoresetw(7)ai.majorscoresetw(8)ai.add()endl;coutendl;cout初试合格人数为:jendl;file2endl;file2初试合格人数为:jendl;file2.close();四、实验过程1输入考生人数2输入考生信息将下列表格中数据输入:考生姓名准考证号报考专业应届/历届数学成绩外语成绩政治成绩专业课成绩lucy2010001ma

11、thy88817892ann2010002softwarey78827675jenny2010003englishl76868696jack2010004arty65826887ben2010005mathl71677881mary2010006englishy88968665jim2010007mathl93888886leon2010008softwarey89786784wendy2010009musicl66897676frank2010010mathy67816973neko2010011mathy90777183输入显示如下:3输入录取条件4输出录取考生5在文件中显示考生信息6在文

12、件中显示录取信息五、系统调试1定义普通数组时无法实现人数的控制,只能输入规定的人数,改用动态数组可以通过屏幕输入人数,从而确定数组大小;2排序时,无法赋值给变量,定义重载函数重载赋值运算符;3setw()由于记忆错误使用方法,调试代码无法对齐格式,修改后正常进行;4使用文件需要在代码头文件处加#include、#include;5排序时,为了便于比较,需要定义初始变量t(0,0,0,0,0,0,0,0)。六、使用说明1输入考生人数;2将考生的信息(考生姓名,准考证号,报考专业,是否应届,数学成绩,外语成绩,政治成绩,专业课成绩)依次输入;3按界面提示输入录取要求(录取专业,数学成绩,外语成绩,

13、政治成绩,专业课成绩的最低分数要求);4输出结果后,可在相应的文件中查找考生信息和录取信息。七、实验心得通过对c+的课程设计,我了解并发现了很多调试程序的方法,而且懂得了如何处理错误的方法。对c语言的使用得到了进一步的提高。针对类结构程序,和类成员函数的调用等知识得到了进一步的巩固,具体化就是加深了我对程序的深层理解,清楚程序中每一步的功能,在程序的运行中是十分重要的,一个好的类在运行中能够充分的发挥类的功能。结构设计的合理性决定了这个程序的价值。在今后的学习中我要注意这方面,使得我的编程能力能有进一步的提高。经历了这次课程设计,不仅对我的学习提供了帮助,而且在意志力方面也得到了锻炼。没有足够

14、的耐力和信心就很难坚持对课程设计每一步的顺利进行。附:源代码#include#include#include#includeusing namespace std;class student /考生类public:char name10; /考生姓名int number; /准考证号string major; /报考专业char state10; /应届/历届int mathscore; /数学成绩int languagescore; /外语成绩int policyscore; /政治成绩int majorscore; /专业课成绩int sumscore; /总分student() /构造函

15、数int add() /定义计算总分的函数sumscore=mathscore+languagescore+policyscore+majorscore;return sumscore;student(char *name1,string maj,char *sta,int num,int maths,int langs,int policys,int majors) /定义带参数构造函数strcpy(name,name1);major=maj;strcpy(state,sta);number=num;mathscore=maths;languagescore=langs;policyscor

16、e=policys;majorscore=majors;sumscore=maths+langs+policys+majors;student & student:operator=(student & s) /对=运算符进行重载strcpy(name,);major=s.major;strcpy(state,s.state);number=s.number;mathscore=s.mathscore;languagescore=s.languagescore;policyscore=s.policyscore;majorscore=s.majorscore;sumscore=s.

17、sumscore;return *this;class condition /录取条件类public:string c_maj;int c_math;int c_language;int c_policy;int c_major;int c_sumscore;condition() /无参的构造函数coutc_maj;cout请输入录取的数学,外语,政治,专业课及总分要求:endl;coutc_math;coutc_language;coutc_policy;coutc_major;coutc_sumscore;coutendl;void main()static int j=0; /统计录取

18、的人数coutttt欢迎使用研究生录取系统n;coutn; student *a=new studentn;coutendl;cout请输入研究生的信息!endl;for(int k=0;kn;k+);coutak.number;coutak.major;coutak.state;coutak.mathscore;coutak.languagescore;coutak.policyscore;coutak.majorscore;coutendl;condition c;fstream file1,file2;file1.open(f:考生信息.txt,ios:out);

19、/将考生信息写入文件中file1ttt*考生信息*endl;file1考生姓名 准考证号 报考专业 应届(y)/历届(l) 数学 外语 政治 专业课 总分endl;for(int i=0;in;i+)file1setw(8)setw(9)ai.numbersetw(12)ai.majorsetw(10)ai.statesetw(12)ai.mathscoresetw(6)ai.languagescoresetw(6)ai.policyscoresetw(7)ai.majorscoresetw(8)ai.add()endl;file1.close();for(int p=0; pn;p+) /将考生按总分从高到低排序 student t(0,0,0,0,0,0,0,0); t=ap; for(int q=p+1; q=2;q+) if(t.add()aq.add() ap=aq; aq=t; t=ap; file2.open(f:考生录取信息.txt,ios:out); /将考生的录取信息写入文件中file2ttt*录取结果*endl;file2考生姓名 准考证号 报考专

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论