研究生初试录取信息管理系统设计说明书.doc
《研究生初试录取信息管理系统设计说明书.doc》由会员分享,可在线阅读,更多相关《研究生初试录取信息管理系统设计说明书.doc(18页珍藏版)》请在冰豆网上搜索。
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2011年秋季学期
面向对象课程设计
题目:
研究生初试录取信息管理系统
专业班级:
计算机科学与技术四班
姓名:
王耿
学号:
10240433
教师:
朱红蕾
成绩:
目录
摘要………………………………………………………1
前言………………………………………………………2
一、问题分析……………………………………………3
二、结构分析……………………………………………3
1.系统类结构……………………………………4
2.主函数结构……………………………………4
3.UML图…………………………………………5
三、功能介绍……………………………………………7
四、实验过程…………………………………………8
五、系统调试……………………………………………9
六、使用说明……………………………………………11
七、参考文献.…………………………………………11
八、实验总结……………………………………………11
致谢…………………………………………………12
摘要
经过一个学期对《面向对象程序设计》的学习,我们都认为真正的学到了有用知识,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。
做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。
本系统是研究生初试录取管理系统,可以利用它来确定所录取的考生。
系统界面清楚明了,操作简单易懂。
该系统主要包含以下几个模块:
考生人数的输入,考生信息的输入,录取条件的输入,录取信息的输出,将信息保存于文件中。
本文首先介绍了该系统的详细设计过程:
问题的分析、结构分析,功能介绍、实现过程,系统的调试过程,以及该系统的使用说明。
最后对在本系统开发过程中的问题进行了总结。
【关键词】C++面向对象研究生初试录取信息系统 函数
前言
据京报网2010年01月06号的报道,我国2010年的研究生报考人数达到了140万啦。
这么大的报考人数对初试录取工作是一个巨大的挑战,能不能有一款简便易用的软件来减轻这种压力呢?
这时,用C++设计一款研究生初试录取的程序就是不可避免的啦.
本系统主要有三大功能:
1可以根据系统的提示输入考生的相关信息,如姓名,准考证号等等;
2可以根据系统的提示输入初试录取的相关要求,如总分,数学分数等等;
3可以统计录取的人数并按总分由高到低的顺序依次输出考生的信息。
一、问题分析
1.问题描述
研究生考试课程为4门,其中数学、外语、政治为统一命题,而专业基础课则根据不同的专业由招生学校自行命题。
国家对初试录取分数有总分要求(如某一年要求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷最低应达到40分,总分为150的试卷最低应达到65分)。
编程统计初试合格的人数,并按总分由高到低的顺序输出合格考生的信息。
2.基本要求
程序运行时首先要求输入:
考生姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩。
这些原始数据应保存到一个文件中。
然后输入专业要求,各课程的最低分数要求,录取的总分要求。
将符合要求的考生的姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩及总分,这些信息应存放到另一个文件中。
3.测试数据
程序应输入不少于10名考生的信息,其中应届生和历届生分别有若干名,考生专业不都相同,并且都有合格和不合格的情况。
4.实现方式
定义两个类分别记录考生信息与录取要求,在主函数中通过类的使用实现。
5.所涉及知识点
类的定义与引用;if判断语句的使用;构造函数的定义与使用;函数的定义与调用;函数的重载;利用for循环语句排序;文件的打开关闭、输入输出;
二、结构分析
1.系统类结构
Student类
(定义考生信息)
数据成员:
考生姓名name
准考证号number
报考专业major
应届/历届state
数学成绩mathscore
外语成绩languagescore
政治成绩policyscore
专业课成绩majorscore
总分sumscore
函数成员:
计算总分的函数add()
无参构造函数student
定义带参数构造函数student
重载函数(对=运算符进行重载)Student&student:
:
operator=(student&s)
2.主函数结构
主函数Main()
输入考生信息
将考生信息输入文件中
将录取信息输入文件中
判断考生是否符合录取条件
排序
3.UML图
三、功能介绍
1.输入报考研究生人数
staticintj=0;//统计录取人数
cout<<"请输入报考研究生人数:
";
intn;
cin>>n;
student*a=newstudent[n];
2.输入各研究生的信息
cout<<"请输入研究生的信息!
"< for(intk=0;k {
cout<<"研究生姓名:
";
cin>>a[k].name;
cout<<"准考证号:
";
cin>>a[k].number;
cout<<"报考专业:
";
cin>>a[k].major;
cout<<"应届(Y)/历届(L):
";
cin>>a[k].state;
cout<<"数学成绩:
";
cin>>a[k].mathscore;
cout<<"外语成绩:
";
cin>>a[k].languagescore;
cout<<"政治成绩:
";
cin>>a[k].policyscore;
cout<<"专业课成绩:
";
cin>>a[k].majorscore;
cout< }
3.输入录取条件
conditionc;
4.将考生信息输入文件中
file1.open("f:
\\考生信息.txt",ios:
:
out);//将考生信息写入文件中
file1<<"\t\t\t***********考生信息***********"< file1<<"考生姓名准考证号报考专业应届(Y)/历届(L)数学外语政治专业课总分"< for(inti=0;i {
file1< }
file1.close();
5.将录取考生信息排序
for(intp=0;p {studentt("0","0","0",0,0,0,0,0);
t=a[p];
for(intq=p+1;q<=2;q++)
{
if(t.add() {
a[p]=a[q];
a[q]=t;
t=a[p];}
}
}
6.将录取信息输入文件中
file2.open("f:
\\考生录取信息.txt",ios:
:
out); file2<<"\t\t\t***********录取结果***********"<file2<<"考生姓名准考证号报考专业应届(Y)/历届(L)数学外语政治专业课总分"< cout<<"\t\t\t***********录取结果***********"< cout<<"考生姓名准考证号报考专业应届(Y)/历届(L)数学外语政治专业课总分"< for(i=0;i {
if((a[i].major==c.c_maj)&&(a[i].add()>=c.c_sumscore)&&(a[i].mathscore>=c.c_math)&&(a[i].languagescore>=c.c_language)&&(a[i].policyscore>=c.c_policy)&&(a[i].majorscore>=c.c_major))
{
j=j+1;
cout< file2< }
}
cout< cout<<"初试合格人数为:
"< file2< file2<<"初试合格人数为:
"< file2.close();}
四、实验过程
1.输入考生人数
2.输入考生信息
将下列表格中数据输入:
考生姓名
准考证号
报考专业
应届/历届
数学成绩
外语成绩
政治成绩
专业课成绩
Lucy
2010001
Math
y
88
81
78
92
Ann
2010002
Software
y
78
82