停车场管理系统课程设计报告_第1页
停车场管理系统课程设计报告_第2页
停车场管理系统课程设计报告_第3页
停车场管理系统课程设计报告_第4页
停车场管理系统课程设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、重庆科技学院面向对象程序设计课程设计报告学院:电气与信息工程学院专业班级:计科12-04学生姓名:田园学号:设计地点(单位)计算机自主学习中心,设计题目:停车场管理系统完成日期:2013年1月18日指导教师评语:成绩(五级记分制):指导教师(签字):摘要当今社会,停车场管理电脑化已经成为了停车场管理的不可缺少的一项重要内容,随着停车车辆的不断增加,停车场对停车的管理越来越复杂,所以要实现对停车的正确管理是必不可少的。本次课程设计就是为了对停车基本的信息及其停车费用的管理做一个简单的表现,主要实现对停车的信息录入,修改,删除,显示,添加,查找等几个方面的功能。而要实现这些功能,首先要建一个数组,

2、将所有停车的信息都统筹起来,而且通过C+建立类的方式完成这些过程,并且能准确明显的显示每辆停车的基本信息和对其资费的管理。通过如此对停车的管理,可以达到对停车信息的准确管理。关键词:停车场管理数组C+类重庆科技学院课程设计任务书设计题目:停车场管理系统设计学生姓名课程名称程序设计基础课程设计专业班级计科11地点I304/I306起止时间2013年1月7日1月18日1)问题描述定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、到达的时间和离开的时间等信息和相关的对属性做操作的行为。定义一个管理类,完成对停车场的管理。停车场的具体要求:设停车场是一个可停放n辆汽车的狭长通道,且只有

3、一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,则排在便道上的第一辆车即可开入;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。2)功能要求(1)添加功能:程序能够添加到达停车场的车辆信息,要求车辆的车牌号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据车牌号、车型等信息对已添加的停车场中的车辆信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;(3)显

4、示功能:可显示当前系统中所有车辆的信息,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意车牌号的唯一性。(5)删除功能:主要实现对已添加的车辆记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。(6)统计功能:能统计停车场中车辆的总数、按车型、按到达时间进行统计等。3)问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定

5、义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范、撰写课程设计报告。参数11)系统分析、设计正确。(2)结果以图表方式显示。(3)界囹简洁、美观。(4)报告格式规范。1周一:明确设计任务,学习相关基础知识周二:熟悉各知识点,进行基础练习周三:根据题目要求,进行设计和实现周四:根据题目要求,进行设计和实现周五:程序测试参考资料1RichardJohnsonbaugh.MartinKalin,面向对象程序设计一C+语百描述.机械工业出版社,2009年2钱能,C+语言程序设计教程,清华大学出版社.2005年其它说明1

6、,本表应在每次实施前一周由负责教师填写一份,院系审批后交院系办备案,一份由负责教师留用。2,若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任:指导教师:裴仰军/伍建全/焦晓军/陈应祖2013年1月1目录1 .软件需求分析说明书主要介绍该软件具有哪些详细的功能,及软件的界面要求、数据结构要求等(要把软件的所有的功能全部写在该部分)1课程设计的目的和要求综合要求和目的:C+语言课程设计的主要目的是培养学生综合运用C+语言程序设计课程所学到的知识,编写C+程序解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯。通过课程设计的训练,学生应该能

7、够了解程序设计的基本开发过程,掌握编写、调试和测试C+语言程序的基本技巧,充分理解结构化程序设计的基本方法。C+语言程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试C+语言程序及编写设计报告。本课程设计的目标:1 .巩固和加深学生对C+语言课程的基本知识的理解和掌握2 .掌握C+语言编程和程序调试的基本技能3 .掌握利用C+语言进行软件设计的方法4 .提高书写程序设计说明文档的能力5 .提高运用C+语言解决实际问题的能力基本要求:1 .分析课程设计题目的要求2 .对系统功能模块进行分析,写出详细的设计说明文档

8、3 .编写程序代码,代码量要求不少于300行,调试程序使其能正确运行4 .设计完成的软件要便于操作和使用5 .设计完成后提交课程设计报告设计要求停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,则排在便道上的第一辆车即可开入;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。车进入停车场需要输入该车的车牌信息,车的颜色,车的型号和车进入停车场的准确时间。其中车牌信息是一辆车的标志

9、,只有通过车牌信息才能准确的确认该车;车的颜色是每辆的共有属性。车的型号一共分为四种,包括小汽车,小卡,中卡,大卡。这四种车型是用来统计车辆信息的利器,停车场管理员可以根据四辆车的型号来统计这四种车分别有多少辆。这样才能更好的管理停车场中的所有停车。车进入停车场的准确时间包括车进停车场的年,车进停车场的月,车进停车场的日,车进停车场的小时,车进停车场的分钟,车进停车场的秒。只有准确的记录这些信息才能对停车的信息把握的更充分,更到位。而且必须根据车进入停车场的时间才能在车开出停车场的时候计算出该车在停车场中所停的时间,才能通过停车时间来计算车辆应该缴纳的停车费用。只有完全精确地输入所有的信息各种

10、车辆才能有条不紊的进出停车场,完成停车,停车场管理员才能更加更好的完成工作。2.系统分析与设计软件界面设计画出软件全部输入、输出数据的界面,并对每一个界面进行详细的操作说明首页:图这是首页,接下来输入选择的操作的序号输入1:图选择1接下来输入进入停车场的车的车牌号,输完了车牌号之后会有Color、CheXing、year、mouth、day、hour、minute、second的信息输入。输入2:图选择2接下来输入要离开停车场的车的车牌号,根据车牌号可以让车辆离开停车场,并且会在确认停车场之内有该辆车之后输入离开时间,用以计算停车费用。输入3:图选择3接下来输入车牌号就可以查询停车场中是否存在

11、该车,如果没有有两种选择,一是车辆入库,二是返回首页,接下来输入相应的操作序号,就可以达到相应效果,如果输入错误会有提示,并给出返回首页的操作。如果停车场中有该辆车,程序就会输出该车的所有信息,并给出三种选项:一是删除该给信息,二是修改该车信息,三是返回首页,输入相应序号可以完成相应操作,如果输入错误会有提示,并给出返回首页的操作。输入4:接下来程序就会显示出停车场中的所有车辆信息,并且这些车辆信息会每辆汽车的信息站一列显示,这样就可以很轻松的对信息进行观察。信息显示完了之后会有:1.返回首页的选择操作,如果输入1就会返回首页,果输入错误会有提示,并给出返回首页的操作。输入5:图输入了5,就会

12、程序就会显示出按总数统计和按车型统计两种选择统计方法,如果接着输入1,选择按总数统计,程序就会自动的统计出停车场中现有的停车数量。接下来就会给出返回首页的操作,如果选择怎却就会返回首页,如果错误会有提示,并继续给出返回首页的操作。如果输入2,选择按车型统计,程序就会自动的将四种车型在停车场中的数量分别统计其辆数,并且显示出来。接下来就会给出返回首页的操作,如果选择怎却就会返回首页,如果错误会有提示,并继续给出返回首页的操作。输入其它:图如果输入的不是1、2、3、4、5种选项中的其中一种,二是随意乱输的一个数值,程序就会显示无此选项!的操作并且给出返回首页重新选择的操作。如果继续输入错误就会继续

13、提示。软件的数据(结构)设计对整个软件使用的文件功能、文件内部的数据格式进行说明图在本课程设计中我一个用了一个txt文本来存储车辆信息,在该文本中,第一行是一个整形的数值,它的作用是显示该文本中一共存放了多少来辆车。软件的算法设计画出整个软件的模块图、并对每一个模块图的算法用程序流程图、功是伪代码来实现首页汽汽汽显汽车车车示车进出信所信停停息有息车车杳汽统车牌号图3软件的实现与测试软件的实现车的类型车的属性,车包括车牌号,车色,车型,入停车场时间等属性。车的方法,包括Set()、show()两个方法。车的属性中车牌具有唯一性,是用来分辨各辆车的唯一标准,所以输入时一定要小心别输入错误;色车在各

14、种车中是可以相同的,不具有唯一性;车型一共就只有四种,分别是xiaoqiche,xiaoka,zhognka,dakeS入时一定要注意车型;汽车进入停车场时间用来在后面计算汽车费用是必不可少的,所以以上四种属性多很重要。车的方法是Set(),show()其中Set()的作用是用来给车的属性赋值用的,而show()的作用是用来展示车的各种属性的。classChepublic:stringID;stringColor;stringCheXing;TimeaTime;Che*Next;Che()voidSet()cout<<"ID="cin>>ID;cou

15、t<<"Color="cin>>Color;cout<<"CheXing=(xiaoqichexiaokazhongkadaka)"<<endl;cin>>CheXing;();voidshow()(cout<<ID;cout<<Color;cout<<CheXing;();Che();时间类型时间属性,包括year,mouth,day,hour,minute,secon藩属性。时间方法,包括setTime(),showTime()两种方法。此程序中的时间类型

16、一共就有year,mouth,day,hour,minute,second其中year,mouth,day,hour,minute是用来计算停车时间必不可少的因素,而second是用来确定准确时间的,所以都很重要,不容有错!时间的方法就是setTime(),showTime()其中setTime()使用来给时间赋值的,而showTime()是用来展示时间属性的!classTimepublic:intyear;intmouth;intday;inthour;intminute;intsecond;voidsetTime()cout<<"Time"<<e

17、ndl;cout<<"year:"cin>>year;cout<<"mouth:"cin>>mouth;cout<<"day:"cin>>day;cout<<"hour:"cin>>hour;cout<<"minute:"cin>>minute;cout<<"second:"cin>>second;)voidshowTime()(co

18、ut<<year<<mouth<<day<<hour<<minute<<second;);首页是一个软件的门户,首页不好看,该程序就会在客户心中有一个不好的影响,如果首页很好,那即使你的内容差一点,我相信客户也是会首先考虑你的产品的,就因为你的首页,比别的更美观,更好看,这就是一个很大的优势了,在当今社会中有时候门面就比内容更重要,好的门面就是好的开始,而首页就是这个软件的门面。所以好的软件不能没有好的首页,接下来就是我的首页函数。voidShouye(冷进停车场n"cout<<"t&quo

19、t;<<"2.汽车出停车场n"cout<<"t"<<"3.汽车信息查询n"cout<<"t"<<"4.显示所有汽车n"cout<<"t"<<"5.汽车信息统计n"cout<<"t"<<"选择操作:”;cin>>i;switch(i)(case 1:(system("cls");Input(

20、);break;)break;case 2:(system("cls");Output();break;)break;case 3:(system("cls");Chaxun();break;)break;case4:(system("cls");Xianshi();break;)break;case5:(system("cls");Tongji();break;)break;default:(cout<<"无此选项!"<<endl;cout<<"1

21、.返回首页从新选择"<<endl;stringh;();cin>>h;if(h="1")(system("cls");Shouye();)elseCuo1();)在我的课程设计中车辆进入停车场我采用了数组存放车辆数据的方式,数组中每一个空间单元存放一辆车。在输入停车信息之前先从text文本中把其存储的车辆信息取出来放入p数组中,如果文本中存放的车辆数目以达到极限,则提示停车场已满。如果文本中存放的车辆数目没到极限,则输入进入停车场的车的信息。之后再把更新了的数组在输入到text文本中保存。voidInput()D>

22、>pj.Color>>pj.CheXing>>pj.>>pj.>>Pj.>>Pj.>>Pj.>>Pj.;cout<<pj.ID<<"t"<<pj.Color<<"t"<<pj.CheXing<<"t"<<pj.<<"-"<<pj.<<"-"<<Pj.<<"

23、-"<<Pj.<<":"<<Pj.<<":"<<Pj.<<endl;)0;if(i<MaxChe)coutvv”车辆可以进入停车场n«endl;pi.Set();ofstreamfout("",ios:out);fout«i+1«endl;for(intj=0;j<i+1;j+)fout<<pj.ID«,t,«pj.Color«"t"«pj.

24、CheXing«,t"«pj<<"t"«pj.vv”t”vvpj.vv”t”vvpj.vv“t”vvpj.vvutuvvpj.vv”n”;)0;coutvv”*vvendl.coutvv.继续停车"«endl;coutvv'2返回首页"«endl;inth;cin»h;if(h=1)lnput();if(h=2)(system("cls");ShouyeQ;if(h!=1&&h!=2)Cuo1();)elsecoutvV”*”.c

25、outvv"停车场已满!"«endl;coutvv"l.返回首页"«endl;inth;cin»h;if(h=1)system("cls");ShouyeQ;)elseCuo1();)在我的课程设计中车辆离开停车场我采用了数组存放车辆数据的方式,数组中每一个空间单元存放一辆车。车辆要离开停车场,需要输入离开停车场的车辆的车牌号,在输入车牌号之前程序会先从text文本中把其存储的车辆信息取出来放入P口数组中,如果文本中存放的车辆数目为0,则提示停车场中没有停车。否则,则输入离开停车场的车的车牌号。之后会用数

26、组中的车的车牌号与输入的对比若有这辆车,则输出该车的信息,若都对不上,则提示停车场中没有该车。最后再把更新了的数组在输入到text文本中保存。voidOutput()D>>pj.Color>>pj.CheXing>>pj.>>pj.>>Pj.>>Pj.>>Pj.>>Pj.;cout<<pj.ID<<"t"<<pj.Color<<"t"<<pj.CheXing<<"t"&

27、lt;<pj.<<"-"<<pj.<<"-<<pj.<<"-"<<pj.<<":"<<pj.<<":"<<pj.<<endl;();if(i!=0)stringcp;cout<<”按车牌查询"<<endl;cout<<"离开停车场车牌:";cin>>cp;cout<<"出

28、场时间"<<endl;TimebTime;();ofstreamfout("”,ios:out);fout<<i-1<<endl;for(j=0;j<i;j+)if(pj.ID=cp)cout<<"I*”<<endl;cout<<"该车进入停车场时间为:”;cout<<pj.<<"-"<<pj.<<"-"<<pj.<<"-"<<pj.&

29、lt;<":"<<pj.<<":"<<pj.<<endl;cout<<"每分钟"<<Chefei<<"元钱"<<endl;intmoney;money=j.*12*31*24*60+j.*31*24*60+j.*24*60+j.*60+j.*10;cout<<"共计:"<<money<<"元钱"<<endl;for(j=0;j&

30、lt;i;j+)if(pj.ID=cp)inta;a=j;for(j=0;j<a;j+)fout<<pj.ID<<"t"<<pj.Color<<"t"<<pj.CheXing<<"t"<<pj.<<"t"<<pj.<<"t"wpjvv"t"vvpj.vv”t”vvpj.vv”t”vvpj.vvendl;)for(intj=a+1;j<i;j+)f

31、out<<pj.ID«"t"«pj.Color«"t"«pj.CheXing«"t"«pj.«"t"«pj.«"t"wpjvv"t"vvpj.vv”t”vvpj.vv”t”vvpj.vvendl;)coutvv”离场成功*“vvendl;coutvv'l返回首页";inth;cin»h;if(h=1)system("cls");

32、Shouye();)elseCuo1();break;)0;)elsecoutvv”停车场中无车"«endl;coutvv.车辆进入停车场"«endl;coutvv'2返回首页"«endl;inth;cin»h;if(h=1)lnput();if(h=2)system("cls");Shouye();)if(h!=1&&h!=2)Cuo1();其它功能在本软件中还有车辆信息的查询,车辆信息的删除,车辆信息的修改,显示所有信息,车辆信息的统计等功能。但这些功能都与以上两种大同小异。车

33、辆信息的查询,类似于车辆离开停车场,输入编号查找到有该车后直接输出该车信息就完成,不在出库,就是车辆信息的查询。stringcx;cout<<"按车牌查询"<<endl;cout<<"车牌号:"cin>>cx;for(j=0;j<i;j+)(if(pj.ID=cx)(cout<<"*"<<endl;cout<<pj.ID<<"t"<<pj.Color<<"t"<&l

34、t;pj.CheXing<<"t"<<pj.<<"-"<<pj.<<"-"<<pj.<<"-"<<pj.<<":"<<pj.<<":"<<pj.<<endl;车辆信息的删除,是在车辆离开停车场的基础上不统计消费直接离开,就是车辆信息的删除。if(h=1)(ofstreamfout("",ios:out)

35、;inta;a=j;fout<<i-1<<endl;for(j=0;j<a;j+)(fout<<pj.ID<<"t"<<pj.Color<<"t"<<pj.CheXing<<"t"<<pj.<<"t"<<pj.<<"t"<<pj.<<"t"<<pj.<<"t"&

36、lt;<pj.<<"t"<<pj.<<endl;for(intj=a+1;j<i;j+)(fout<<pj.ID<<"t"<<pj.Color<<"t"<<pj.CheXing<<"t"<<pj.<<"t"<<pj.<<"t"<pj.<<"t"<<pj.<

37、<"t"<<pj.<<"t"<<pj.<<endl;();cout<<"删除成功!"<<endl;车辆信息的修改,是在车辆信息的查询的基础上,在数组输入文件之前把要改的信息改掉,在把数组输入文本中。if(h=2)(cout<<"*"<<endl;cout<<"1.修改单种信息"<<endl;coutv"2.修改多种信息"«endl;inth;

38、cin»h;if(h=1)couv“*“vvend卜coutvv"1.修改车牌"«endl;coutvv'2修改车色"«endl;cout«"3.修改车型"«endl;coutv"4.修改车辆入场时间"«endl;into;cin»o;if(o=1)cout«"ID:"cin»pj.ID;)if(o=2)cout«"Color"cin»pj.Color;)if(o=3)

39、cout«"CheXing"cin»pj.CheXing;)if(o=4)Pj.setTime();)if(o!=1&&o!=2&&o!=3&&o!=4)Cuo1();break;)if(h=2)PUSet();)if(h!=1&&h!=2&&h!=3)Cuo1();ofstreamfout("",ios:out);inta;a=j;fout«i-1;forO=0;j<i;j+)fout«pj.ID«"t&qu

40、ot;«pj.Color«"t"«pj.CheXing«"t"«pj.«"t"«pj.«"t"«pj.«"t"«pj.«"t"«pj.«"t"«pj.«encll;)0;)显示所有信息,是等从文本中的车辆信息全部读入到数组后,把数组中的信息输出,就是显示所有信息。voidXianshi()D

41、7;pj.Color»pj.CheXing»pj.»pj.>>PU>>PU»PU>>PU-;cout«pj.ID«"t"«pj.Color«"t"«pj.CheXing«"t"«pj.«"-"«pj.«"-"<<Plj<<"-"<<Pj<<".&

42、quot;<<pj<<"."<<pj<<endl;)0;coutw.返回首页"«endl;inth;cin»h;if(h=1)(system("cis");Shouye();)elseCuo1();)车辆信息的统计,有两种计算方法,一是计算停车场中的车辆总数,该种计算是直接读取文本中的第一个整形,并给予输出;二是按照车辆的四种列别xiaoqiche>xiaoka>zhongka>daka分别来输出它们的数量,即在文本信息读入后,用遍历的方法,定义a、b、c、d都为0,如果数组中的其中一辆为这四种类型中的一种,则a、b、c、d中对应的自加1,最后输出结果,就是车辆信息的统计。voidTongji

温馨提示

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

评论

0/150

提交评论