招生系统C++课程设计.docx
- 文档编号:10534922
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:51
- 大小:526.08KB
招生系统C++课程设计.docx
《招生系统C++课程设计.docx》由会员分享,可在线阅读,更多相关《招生系统C++课程设计.docx(51页珍藏版)》请在冰豆网上搜索。
招生系统C++课程设计
计算机学院计算机科学与技术专业
《程序设计综合课程设计》报告
(20010/2011学年第一学期)
学生姓名:
学生班级:
学生学号:
指导教师:
2011年 1月 9日
招
生
系
统
第一章课程设计目的和要求
1.1课程设计目的
C++课程设计的主要目的是培养学生综合运用C++所学知识解决实际问题,提高学生运用知识的能力,真正做到学以致用
通过课程设计,提高学生的编程能力,使学生加深对所学知识的掌握及运用,对所学的基本知识能够做到熟练运用,从而为日后的学习和技术的培养、提高打下坚实的基础。
通过课程设计,拓展学生的知识面和思维面,丰富学生的函数库知识和加深学生对函数库的认识,使学生的思维更加灵活、全面,在编程时做到严谨、认真。
通过课程设计,使学生对学习有新的认识,改变以往学习为了考试,作业为了应付的学习态度,运用知识解决实际问题,从而让学生获得学习的乐趣,增进学生学习的动力。
在课程设计中,培养学生思考问题、解决问题的能力,并让学生做到学习联系实际,具备运用知识的现实性思维,从而让学到的知识更加灵活、更具实际可操作性。
1.2课程设计要求
1)用C语言实现系统;
2)函数功能要划分好(结构化程序设计);
3)界面友好(良好的人机交互),加必要的注释;
4)提供程序测试方案。
第二章课程设计任务内容
(1)确定每一批次的录取分数线,并将批次、分数线、实际录取人数输出到文本文件soutput.txt中,每一批次录取信息占一行,格式自定。
确定分数线时,如果在分数线处有多名考生,则将这些考生全部录取,即每一批次的实际录取人数可能会超过预定人数。
(2)如果考生成绩行的格式不对,则丢弃该考生的成绩,不作为确定分数线的依据,但要求将该考生姓名输出到文本文件serror.txt中,格式自定。
(3)将总分为650分的考生姓名输出到文本文件soutput.txt中,格式自定。
(4)将第三批次录取的所有考生的平均成绩(4舍5入)输出到文本文件soutput.txt中,格式自定。
(5)要求将下面两个时间值(单位为秒)输出到文件soutput.txt的最后:
从打开scores.txt文件到读完所有考生成绩的时间;从打开scores.txt文件到程序结束的时间。
第三章详细设计说明
3.1系统功能结构图
3.2模块分析
自定义结构体:
structinfor
{
charidentify[20];****身份证
charname[20];*********姓名
charsex[2];***********性别
intage;***************年龄
floatgrade;***********成绩
infor*l;};************下一个地址
主函数
intmain():
函数接口:
功能:
程序的入口,负责程序的运行与退出、操作以及调用其它函数。
特别函数
infor*oldrank():
注释设计:
保留原有数据*********************
在主函数中申明从而节省空间****所得结果供(2,4)共用
若“2,4”调用此函数将会产生两条链条**浪费内存空间
函数接口:
功能:
保留文件中的原有数据
功能模块函数
0->voidmake()
注释设计:
输入批数和预定录取人数****操作“0”函数块
函数接口:
功能:
输入批数和预定录取人数****操作“0”函数块
1->voidoutput()
注释:
输出处理信息*******操作“1”函数块
函数接口:
功能:
输出处理信息*******操作“1”函数块
2->infor*addrecord(infor*head)
注释:
在原有基础上继续输入信息并处理****操作“2”函数块
函数接口:
功能:
在原有基础上继续输入信息并处理****操作“2”函数块
3->voidnewrecord()
注释:
重新录入学生信息并处理****操作“3”函数块
函数接口:
功能:
重新录入学生信息并处理****操作“3”函数块
4->voiddisplayandcorrect(infor*head)
注释:
核对和改正错误信息并随之修改处理结果****操作“4”函数块
函数接口:
功能:
核对和改正错误信息并随之修改处理结果****操作“4”函数块
被调用模块函数
voidsameuse()
注释:
处理信息程序********************
************************共用体函数块***(0,2,3,4)共用
函数接口:
功能:
处理信息程序
被调用单个函数
1)infor*rank()
注释:
排列顺序
功能原理流程:
工作原理:
功能:
排列顺序
2)voidselection(infor*head)
注释:
确定各批次分数线
功能原理流程:
工作原理:
功能:
确定各批次分数线
3)voidinclude(infor*head)
注释:
筛出650分的学生
功能原理流程:
工作原理:
功能:
筛出650分的学生
4)voidrecord()
注释:
重新录入学生信息
功能原理流程:
工作原理:
功能:
重新录入学生信息
5)infor*insert(infor*head)
注释:
在原有信息上继续录入学生信息
功能原理流程:
工作原理:
功能:
在原有信息上继续录入学生信息
6)voiddisplay(infor*head)
注释:
显示要核对的信息并人工核对且记录错误信息
功能原理流程:
工作原理:
功能:
显示要核对的信息并人工核对且记录错误信息
7)voidcorrect(infor*head)
注释:
改正错误信息
功能原理流程:
工作原理:
功能:
改正错误信息
8)voidinput(infor*head)
注释:
向文件中输入所有数据
************************共用体函数块***(2,4)共用
功能原理流程:
工作原理:
获取动态链表数据链
将信息数据输入到信息文件中
功能:
向文件中输入所有数据
9)voiddell(infor*head)
注释:
删除相同的信息
功能原理流程:
功能:
删除相同的信息
3.3程序测试
)操作页面
图3.3
1)设置处理要求、查看处理信息联合测试
1******设置处理要求
图3.3-1-1.1
*****查看处理信息
图3.3-1-1.2
******设置成功
2******设置处理要求
图3.3-1-2.1
*****查看处理信息
图3.3-1-2.2
*****设置成功
2)在原有基础上继续录入信息、查看和核对录入信息联合测试
1********在原有基础上继续录入信息
图3.3-2-1.1
********查看和核对录入信息
图3.3-2-1.2
2********在原有基础上继续录入信息
图3.3-2-2.1
********查看和核对录入信息
图3.3-2-2.2
*****继续录入成功
3)重新录入信息、查看和核对录入信息、查看处理信息联合测试
1***********重新录入信息
图3.3-3-1.1
*****查看处理信息
图3.3-3-1.2
********查看和核对录入信息
图3.3-3-1.3
2********重新录入信息
图3.3-3-2.1
*****查看处理信息
图3.3-3-2.2
********查看和核对录入信息
图3.3-3-2.3
******重新录入成功
4)查看和核对录入信息单独测试
1*******查看和核对录入信息
图3.3-4-1.1
2*******查看和核对录入信息
图3.3-4-2.1
******信息修改成功
5)操作结束
图3.3-5
第四章软件使用说明
4.1操作页面
图4.1
4.2各功能操作解析
0设置批数和每批的预订人数:
首先:
0、enter
其次根据提示录入整形数据直到此功能操作结束
再次根据提示进行你想要的下一个功能操作
1查看信息处理结果:
首先:
1、enter
再次根据提示进行你想要的下一个功能操作
2在原有数据基础上录入信息:
首先:
2、enter
其次根据提示录入信息直到此功能操作结束
再次根据提示进行你想要的下一个功能操作
3重新输入信息:
首先:
3、enter
其次根据提示录入信息直到此功能操作结束
再次根据提示进行你想要的下一个功能操作
4查看和核对录入信息:
首先:
4、enter
其次根据提示进行操作直到此功能操作结束
再次根据提示进行你想要的下一个功能操作
5退出程序操作:
首先:
5、enter
程序运行结束,退出程序。
第五章课程设计心得与体会
做事不能急于求成,想尽快了事,要认真思考,对问题做到充分的了解和思考后进行处理。
思考问题时,不能只局限与纸上描述的问题本身,要善于将问题现实化,在实际中思考此类问题,从而建立实际可操作性思维,让编写的程序更具普遍适用性,更符合实际性。
死板的根据纸上要求编写程序,以实现功能为目的,不联系实际,所编写的程序是为实现目的而做,而不是用于解决实际问题。
学习知识,要认真对待,不能有模糊性思维,遇到不懂将就着过,对于基础知识更是必须做到认真,要做到彻底的明白,为日后更深的学习打下坚实的基础。
学习不能只局限于课本,要学会多练习,多阅读,多积累,做到对所学知识的拓展与丰富,从而让我们的思维更加丰富、灵活和简洁。
附录1:
参考文献
附录1.1参考书
《C++课程设计》
附录1.2参考函数块
#include
usingmanespacestd;\\如果是TC30编译器就可以不要
voidmain()
{clock_tstart,finish;\\声明开始结束变量
start=clock();\\开始计算时间
\\你要运行的程序
finish=clock();\\结束计算时间
cout< "<<(double)(finish-start)/CLK_TCK< } 附录2: 程序清单 #include #include #include #include #include usingnamespacestd; structinfor {charidentify[20]; charname[20]; charsex[2]; intage; floatgrade; infor*l;}; intmain() { voidmake(); voidoutput(); infor*oldrank(); voidnewrecord(); infor*addrecord(infor*head); voiddisplayandcorrect(infor*head); intn; infor*head=NULL; for(;;) {cout<<"**********************************招生系统************************************"< cout<<"设置处理要求(批数和每批预定录取人数)请按0: "< cout<<"查看处理信息请按1: "< cout<<"在原有数据上继续录入请按2: "< cout<<"重新录入信息请按3: "< cout<<"查看和核对录入信息请按4: "< cout<<"操作结束请按5: "< cout<<"请输入按钮: "; cin>>n; if(n==2||n==3) {cout<<"是否删除原有信息,是: 3,不是: 2,拒绝: 6: "; cin>>n;} if(n==5) {cout<<"确定要结束吗? 是: 5,不是: 6: "; cin>>n;} if(n==2&&head==NULL||n==4&&head==NULL)//如果程序未运行“2”则须此操作 head=oldrank(); switch(n) {case0: cout< case1: cout< case2: cout< case3: cout< case4: cout< } if(n==5)break;} return0; } infor*oldrank()//保留原有数据********************* {voiddell(infor*head);//在主函数中申明从而节省空间****所得结果供(2,4)共用 infor*head,*m;//若“2,4”调用此函数将会产生两条链条**浪费内存空间 charidentify[20],name[20],sex[2]; intage; floatgrade; charc='0'; ofstreamf1("score.txt",ios: : app); if(! f1) {cerr<<"“infor*oldrank()中ofstreamf1(score.txt,ios: : app)”文件打开失败"< exit (1);} f1< f1.close(); ifstreamf("score.txt",ios: : in); if(! f) {cerr<<"“infor*oldrank()中ifstreamf(score.txt,ios: : in)”文件打开失败"< exit (1);} head=newinfor; m=head; for(;;) {f>>identify>>name>>sex>>age>>grade; strcpy(m->identify,identify); strcpy(m->name,name); strcpy(m->sex,sex); m->age=age; m->grade=grade; if(strcmp(identify,"0")==0&&strcmp(name,"0")==0&&strcmp(sex,"0")==0&&age==0&&grade==0) {m->l=NULL; break;} elsem->l=newinfor; m=m->l; } f.close(); dell(head); returnhead; } voidoutput()//输出处理信息*******操作“1”函数块 {stringa,b; inti,j=0; cout<<"操作结果概况:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 招生 系统 C+ 课程设计