您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > C++课程设计-停车场管理系统
C++课程设计——停车场管理系统姓名:汪志成学号:09102211专业:信息与计算科学学院:理学院指导老师:丁木华日期:2011.12.18停车场管理系统——C++课程设计报告概述C++课程设计是实践性教学中的一个重要环节,它以C++教程课程为基础,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。《C++教程》是一门重要的专业基础课,是计算机理论和应用的核心基础课程。C++课程设计,要求学生在选择结构、循环结构以及算法方面的应用,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。题目描述停车场设有n个车位,车辆按先后次序进入空车位中,车辆离开的时候需要收费,对停车场可以整体查询,查看各个车位的停车状况以及已停车位、空车位的个数。提供车位查询以及车牌查询功能,即能查询指定的车位号或车牌号。能查询今日的总计收费,需要带有系统说明,以及系统退出程序。车辆进入的时候需要输入车牌以及当前时间,系统自动为它需找空车位;车辆离开的时候可以根据车位或者车牌离开,通过离开的时间与进入的时间计算来收费,车辆一旦离开车位即为空,当有车辆再进来时即可进入该车位。系统分析这是一个停车场模拟的收费管理系统,需为其设计一个功能的界面式菜单,通过菜单对其各项功能一目了然,并通过if条件选择结构的设计,对各项功能按模块实现,并用while循环语句对各个模块完美的配合实现其界面的循环和跳转,并运用的C++中的特有的string、bool型数据,使得程序的设计更加完美。系统需要模拟停车场的管理功能及收费功能。各项功能模块如下:1、车辆驶入2、车辆驶离3、整体查询4、车位查询5、车牌查询6、系统帮助7、总计收费8、退出系统详细设计1、车辆驶入停车场总车位数为n,而车辆数有m控制。一开始,车位全为空,m=0,每当驶入一辆车时,需要输入当前的时间、车牌号,完成输入之后,系统自动从1号车位开始寻找当前的空车位,当找个空车位后即停止寻找,车辆进入该车位,车位不为空,通过一个数组g[i]来控制i号车位是否为空,开始时g[i]全为0,当i号车位有车辆进入后,给g[i]赋值为i即不为0,且车辆数m自加1。2、车辆驶离车辆通过所停的车位号i,或者通过车牌号来寻找该车的系数i,并通过当前的时间与该车进入的时间来按收费标准来收费,车辆离开后,车辆数m自减1,g[i]置为0,表示i号车位为空。3、整体查询通过整体查询能查询到每个车位当前是否为空,该功能由g[i]是否为0即可知道i号车位是否为空。若不为空即g[i]不为0,则可查看到当前所停的车的车牌号以及驶入的时间,并可以查看到当前已停车位、空车位以及总车位数。4、车位查询该项功能是对指定车位号进行查询,能查询到该车位当前停车的状况。此项功能可以说是整体查询的一个子查询,原理相同,功能基本类似。5、车牌查询通过车牌号寻找该车的系数i,通过i即可知道其车位,即可运用车位查询来实现。6、系统帮助系统帮助是对该系统的一个简要说明,让该系统显得更加完善。7、今日收费在功能2车辆驶离中,每次驶离都会收费程序,在收费程序中做一个收费的叠加,而此处只是输出这个收费叠加的值即可。8、退出系统退出系统也是为了使得该系统更加的完整,通过改项功能即可终止程序。该系统中实现难度最大的为功能2车辆的驶离,车辆驶离中包含了车辆按车位号驶离和按车牌号驶离,系统默认的是车位驶离,当输入车位号为0时即可转入车牌号驶离。车辆驶离的时候需要进行收费,收费需要按照收费标准,根据停车的时长来计算,而这个算法是该程序中最重要的一个算法。并通过if选择结构、while循环结构来控制,很好的实现了停车场模拟管理系统的各项功能。总结通过这次C++课程设计,我认识到从课本上学到的知识是远远不够的。本次设计使我深入的了解了C++编程在实际问题下的灵活运用,并对C++有了更进一步的认识。虽然经过努力终于把该系统完成,可是该系统还是不完善,程序中的一些算法还不是很清楚,只不过把简单的功能实现了出来,这些缺憾归根结底都是因为我的C++语言和数据结构的水平还不是很高,还需要经过不懈的努力才能做出比较完善的系统。这次课程设计让我明白要真正的掌握一门编程语言需要的不仅仅是课本上的东西,还要在实际的编程过程中慢慢的掌握其中的奥妙。同时我明白了,要成为一名优秀的编程人员必须具备坚实的编程语言基础、熟练的调试程序的技能,耐心也很重要、同时细心也是不可缺少的。所以为了自己的梦想,在以后的学习过程中,我要不断的充实自己,努力的学习。通过本次课程设计让我熟悉了软件开发的基本过程;初步掌握了软件开发过程的问题分析、系统设计、程序编码、测试等阶段的基本任务和技能方法;培养了我的算法设计和算法分析的能力;提高了综合运用所学的理论知识和方法以及独立分析和解决问题的能力。虽然课程设计的过程是艰辛的,但是当看着自己的程序能够运行的瞬间,无限的满足感会让自己感到从未有过的兴奋。参考文献[1]郑莉李宁编著:《C++教程》人民邮电出版社2010版[2]耿国华主编:《数据结构》(C语言描述)高等教育出版社2005版[3]金远平著:《数据结构》(C++描述)清华大学出版社2005版附录一、C++实现代码#includeiostream#includeiomanip#includestringusingnamespacestd;constints=105;voidmain(){inti,j,k,m,n,t,x,y;chare;longz;inta[s]={0},b[s]={0},g[s]={0};stringc[s];boolf,ff;i=0;m=0;z=0;f=true;coutendl;cout===========成成停车场模拟管理系统============endl;cout||||endl;cout||版权所有者:汪志成||endl;cout||二○一二年正月初一||endl;cout||||endl;cout==========成成停车场---竭诚为你服务!=========endlendl;while(f){f=false;cout请为成成停车场设置车位的个数(1-100):;cinn;if(n0&&n=100){ff=true;while(ff){ff=false;cout是否确定设置(Y确定/N重设):;cine;if(e=='N'||e=='n')f=true;elseif(e=='Y'||e=='y')coutendl已成功设置,成成停车场共有n个车位endlendl进入成成停车场菜单界面……endlendl;else{cout提示:输入指令错误endl;ff=true;}}}else{cout提示:输入错误或超过上限,请重新设置endl;f=true;}}f=true;while(f){f=false;cout=============成成-停车场管理系统=============endl;cout||||endl;cout||1、车辆驶入2、车辆驶离3、整体查询||endl;cout||4、车位查询5、车牌查询6、系统帮助||endl;cout||7、总计收费8、退出系统||endl;cout||||endl;cout||收费说明:6元/小时,1角/分钟||endl;cout||成成停车场---竭诚为您服务!||endl;cout||||endl;cout=============================================endl;cout请选择操作:;cink;if(k==8){ff=true;while(ff){ff=false;cout确认退出成成停车场系统(Y确定/N取消):;cine;if(e=='Y'||e=='y')coutendl=============成哥制作,谢谢使用==============endlendl=========系统即将退出,按任意键结束==========endlendl;elseif(e=='N'||e=='n'){coutendl返回成成停车场菜单界面……endlendl;f=true;}else{cout提示:输入指令错误,请重新输入endl;ff=true;}}}elseif(k==1){if(mn){m=m+1;cout请输入当前时间:;cina[i];couta[i]:;cinb[i];if(a[i]0||a[i]23||b[i]0||b[i]59)cout提示:对不起,时间输入错误endlendl;else{cout请输入车牌:;cinc[i];for(j=1;j=n;j++)if(g[j]==0){g[j]=j;cout====================================endl;cout||车牌号||驶入时间||驶入车位||endl;if(b[i]9)cout||setw(6)leftc[i]||setw(2)righta[i]:b[i]||j号||endl;elsecout||setw(6)leftc[i]||setw(2)righta[i]:0b[i]||j号||endl;cout====================================endlendl;t=j;a[t]=a[i];b[t]=b[i];c[t]=c[i];j=n+1;}}}elsecout提示:成成停车场当前已满,无法执行此项操作endlendl;f=true;}elseif(k==2){if(m==0)cout提示:成成停车场当前为空,无法执行此项操作endlendl;else{cout请输入当前时间:;cinx;coutx:;ciny;cout请输入该车所停的车位号:;cint;if(t=n&&t0&&x=a[t]){if(g[t]==0||(x==a[t]&&y=b[t]))cout提示:该车位为空或者时间错误,此次操作无效endlendl;else{m=m-1;cout==========================================================================endl;cout||车牌号||驶入时间||驶离车位||驶离时间||停留时间||应收费用||endl;if(b[t]9)cout||setw(6)leftc[t]||setw(2)righta[t]:b[t]||t号||;elsecout||setw(6)leftc[t]||setw(2)righta[t]:0b[t]||t号||;if(y9)coutsetw(2)rightx:y||;elsecoutsetw(2)rightx:0y||;if(y==b[t]){coutsetw(2)rightx-a[t]小时setw(2)righty-b[t]分||setw(5)right6*(x-a[t])元||endl;z=z+6*(x-a[t]);}elseif(yb[t]){coutsetw(2)rightx
本文标题:C++课程设计-停车场管理系统
链接地址:https://www.777doc.com/doc-4524198 .html