还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
C++课程设计报告题目学生成绩管理程序课程C++程序设计院[部)计算机与信息技术学院专业软件工程班级2015级4班学生姓名工学号完成日期2016年6月19日charch
[9];coutz,\t车牌号:〃;cinch;forintk=0;k100;k++if!strcmpchcarin[k].noifposition[carin[k].pos-1]=1returncarin[k].pos-l;break;ifk=100returnk;voidcar::putcarintt;while1cout«,z\n\n\tO©〃\n\n\t货车请输入1客车请输入2轿车请输入3其他请输入4:〃«z,\n\n\t\n\n〃;cint;ift=lcarin[i].fee=
7.0;break;elseift==2carin[i].fee=
5.0;break;elseift==3carin[i].fee=
4.0;break;elseift=4{carin[i].fee=
4.0;break;cout<〈〃输入错误!请重新输入\n〃;ifi==100cout〃对不起,车位已满!\n〃;carin[i].pos=i+l;〃自动输出车位号cout«〃\n\n\tOcout,z\n\n\t车位号z/carin[i].posendl;catime[i].getime;cout«z,\n\n\t现在时间是hour〃〃catime[i].minendl;cout,z\n\n\tOOz,endl;voidcar::takecarinthourlmini;doublecharge;ifpoi100position[poi]=0;〃重新设置为空位hourl=catime[poi].hour;minl=catinie[poi].min;catime[poi].getime;hourl=catime[poi].hour-hour1;minl=catime[poi].min-minl;ifminl30〃计算出停车时间charge=carin[poi]・fee*hourl+carin[poi].fee*
0.5;elsecharge=carin[poi]・fee*hourl+carin[poi].fee;cout«,,\t车费为〃〈〈charged〈〃元.\n〃;〃计算出车费输出elsecout«,z\t无此车!\n〃;}voidTime::getimestructtm*newtime;〃获取停车时间time_tlong_time;timelongtime;newtime=localtimefelongtime;hour=newtime-tm_hour;niin=newtinie-tin_iiiin;}voidsearchnointpoi=comp;ifpoi100coutz/\t此车已入库车位为〃poi+l〈〈endl;elsecout«〃\t此车没有入库\n〃;〃根据车牌号查询是否入库}voidsearch_posintloc;cout«z,\t车位号:〃;〃〃/〃/〃/根据车位查询车位状态cinloc;ifposition[loc-1]==1coutz,\t车牌号〃〈carin[locT].noendl;cout«z,\t停车时间:,zcatime[loc-l].hourz,:,,catime[loc-1].minendl;〃停车直到现在的时间elsecoutz,\t此车位无车!〃;课程设计目的2任务与要求13主要数据构造(类函数)2程序功能构造25功能测试36课程设计总结
71.课程设计目的[1)稳固和加深学生对C++课程基本知识的理解和掌握;[2)掌握C++编程和调试的基本技能;
(3)利用C++进展简单软件设计的基本思路和方法,初步理解面向对象编程思想;[4)提高学生运用C++解决实际问题的能力;[5)提高学生综合运用C++编程知识的能力;16)培养学生工程设计和综合分析的能力;[7)培养和提高学生书写课程设计报告的能力;〔8〕培养学生实际操作能力和团结协作能力,为后续课程的学习打下坚实的根基.课程设计任务与要求任务编写停车场管理程序,用于停车场对车辆的管理程序能够实现可用车位统计与查询、零车位提示、停车时长统计、按车型时长收费、管理员收费累计等功能要求编写停车场收费管理系统,定义汽车类Car和管理员类ManagerCar类有number(车牌号),model(车型)、et(entertime入场时间)、qt(quittime)price(每小时收费价)、cost(费用)等属性,Manager类有id和key等,实现以下收费功能⑴可用车位统计与查询;⑵零车位提示;⑶停车时长统计;⑷按车型时长收费;⑸管理员收费累计主界面如下.主要数据构造〔类,函数〕主函数intmain〔;停车函数voidputcar;取车函数:voidtackcar;时间函数stringtimel;判断车位函数intjuge;.程序功能构造程序主要功能如图1所示用户登录输入车牌号的界面车辆类型选择界面查询信息界面按车牌查询界面按车位查询界面历史信息查询界面收费界面.课程设计总结经过一个学期对C++程序设计?的学习,我学习到了基本的理论知识,了解到了C++语言程序设计的思想,这些知识都为我的课程实践和进一步的学习打下了坚实的根基通过C++课程设计,一方面是为了检查这一个学期来计算机语言的学习成果,另一方面也是为了让我们进一步掌握和熟练地运用它,与此同时,也能够让我们认清自己在C++学习方面的缺乏之处和薄弱环节,并加以弥补和稳固通过对教学管理系统的程序设计,进一步的稳固了用C++语言编写程序的能力,并且利于更好的掌握C++语言!在为期近一周的C++课程设计中,我体会颇多,学到了很多东西我懂得了用MicrosoftVisualC++
6.0对程序进展调试,我加强了对C++程序设计这门课程的认识,并且复习了自己以前学习到的知识,自己的逻辑思考能力也提高不少这些都使得我对计算机语言的学习有了更深入的认识!总之,通过这次课程设计,我收获颇丰相信会为自己以后的学习和工作带来很大的好处最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识像停车场管理系统这样的应用程序的设计和创立,经历了平时在课堂和考试中不会出现的难题和考验而这些问题,又都是课本上很少提到的、更深一层的实践与知识相结合的问题,这并不是我们平时只靠课本,就可以轻易解决的所以,锻炼了我们面对难题,学会用已掌握的知识去解决具体问题的能力,进一步培养了独立思考问题和解决问题的能力特别是学会了在VisualC++中如何调试程序的方法当然,教师的指导和同学的帮助也是不可无视的,他们给了我许多提示和帮助教会了我编译复杂程序的方法总而言之,这次C++程序设计实践让我收获很大.附件程序源代码ttincludeiostreamttincludestdio.httincludestringttincludetime.h#includefstreamusingnamespacestd;classcarpublic:charno
[9];intpos;doublefee;voidputcar;voidtakecar;;classTimepublic:inthour;intmin;voidgetime;;intipoi;intposition
[100]={0};〃全局变量carcarin
[100];Timecatime
[100];intjugeO;intcomp;voidsearchno;voidsearch_pos;voidmain〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃/用户登录constcharha
[10]=〃wangbing〃;〃管理员用户名constcharhb
[10]=1427”;〃〃〃管理员密码charcn
[10]cm
[10];intci=0;while1cout〈〃请输入管理员用户名〃;cincn;ifstrcmphacncout〃输入错误!\n〃;ci++;ifci==3return;continue;elsecout〈〃请输入密码:〃;cincm;if!strcmphbcmbreak;elsecout〈J密码错误!\n〃;ci++;ifci==3return;continue;〃〃〃〃〃〃〃〃〃〃/〃〃〃〃〃〃〃〃〃〃/〃〃〃主程序intk;cout〃请选择:〃«z,\n\n\tO1泊车操作◊〃«,z\n\n\tO
2.取车操作◊〃«z,\n\n\tO3查询信息◊〃«z,\n\n\tO
4.退出◊〃«,,\n\n\tO\n\n〃;ofstreamoutfile〃车辆信息.txt〃,ios::app;if!outfile{cerr,,openerror!z,endl;exit1;//ifstreaminfile〃车辆信息.txt”ios::in;//if!outfile//{cerrz,openerror!,,endl;//exit1;}whilecinkifk==li=juge;cout«,z\t车牌号:〃;cincarin[i].no;carin[i].putcar;cout〈〈〃请选择:〃«,,\n\n\tO
1.泊车操作◊〃«,,\n\n\tO2取车操作◊〃«z,\n\n\tO
3.查询信息◊〃«/z\n\n\tO
4.退出◊〃«/z\n\n\t\n\n〃;stringtimel;time_tt;timet;timel=ctimet;cout«timel;〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃导入系统时间outfilecarin[i].no〃tinielendl;〃〃〃〃/保存车辆信息continue;ifk=2poi=comp;carin[poi].takecar;cout«〃请选择:〃«,z\n\n\t«,\n\n\tO
1.泊车操作〃«z,\n\n\tO
2.取车操作◊〃«,z\n\n\tO
3.查询信息◊〃«z,\n\n\tO
4.退出◊〃«\n\n\t\n\n〃;continue;ifk==3intx;while1{«,,\n\n\t查询车牌号请选择1查询车位请选择2查询历史信息请选择3退出请选择4〃«z,\n\n\t\n\n〃;cinx;ifx==lsearch_no;break;}elseifx==2search_pos;break;elseifx=3{stringatimel
[100]
[5];〃〃定义二维数组读取数据intijmn;ifstreaminfile〃车辆信息.txt”ios::in;if!infile{cerr,zopenerror!z,endl;exit1;}infilea;fori=0;i5;i++form=0;m100;m++infiletimel[m][i];cout,z〃;coutaz,〃;forj=0;j5;j++forn=0;n100;n++cout«timel[n][j]〃〃;〃〃〃/将存储的数据用数组形式输出}〃〃〃〃〃〃〃〃〃/〃〃〃〃〃〃/查询历史信息elseifx==4{break;}elsecout«z/\t选择错误请重新选择:〃;cout〈〃请选择:〃«,z\n\n\tO
1.泊车操作◊〃«z,\n\n\tO
2.取车操作◊〃«z/\n\n\tO
3.查询信息◊〃«z,\n\n\tO
4.退出◊〃«\n\n\t\n\n〃;outfile.close;}intjugeO〃〃〃〃〃〃〃〃〃〃〃/判断出第一个空的车位intj=0;whileposition[j]==lj100j++;ifj100position[j]=l;returnj;intcomp。