停车场管理系统_第1页
停车场管理系统_第2页
停车场管理系统_第3页
停车场管理系统_第4页
停车场管理系统_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

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

文档简介

1、停车场管理系统停车场管理系统停车场管理系统停车场管理系统编制仅供参考审核批准生效日期地址: 电话:传真: 邮编:滁州学院课程设计报告课程名称: 数据结构课程设计报告 设计题目: 停车场管理问题 系 别: 计算机科学与技术系 专 业: 计算机科学与技术专业 组 别: 二 起止日期: 2011年5月20日2011年6月20日 指导教师: 杨斌 计算机科学与技术系二一一年制课程设计题目停车场管理问题组长康金山学号97班级计科101系别计算机科学与技术系专业计算机科学与技术专业组员吉国燕、任祥、徐晟凯指导教师杨斌课程设计目的深入理解数据结构的基本理论,掌握数据存储结构的设计方法,掌握数据结构基于的各种

2、操作的实现方法课程设计所需环境Microsoft Visual C+ 课程设计任务要求用数据结构的基本理论和数据存储的设计方法完成一个实际应用问题,在完成程序设计的同时能够写出比较规范的设计报告课程设计工作进度计划序号起止日期工 作 内 容分工情况1整体思路编写以及修改代码编写。康金山2主函数的编写任祥3数据的保存徐晟凯4数据的计算及输出吉国燕指导教师签字: 年 月 日教研室审核意见:教研室主任签字: 年 月 日目录课程设计的主要内容引言数据结构主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的

3、分析和讨论。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。需求分析 问题描述题目、停车场管理问题 设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它

4、让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一个程序模拟该停车场的管理。实现要求 要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。实现提示 汽车的模拟输入信息格式可以是:(到达离去,汽车牌照号码,到达离去的时刻)。例如,(A,1,5)表示1号牌照车在5这个时刻到达,而(D,5,20)表示5号牌照车在20这个时刻离去。整个程序可以在输入信息为(E,0,0)时

5、结束。本题可用栈和队列来实现。 设计思路构造三个主要的结构体 eq oac()分别保存不同的数据,第一个用于保存车辆停在停车场的车辆,第二个用于保存停在便道的车辆,第三用保存要离开的车辆,然后设计程序首先要把输入的数据分别保存在相应的结构体里,例如当停车场里没有停满时车辆要停在停车场,因此该车辆的相应数据要存第一个结构体里,相反要是满了就要保存在第二个结构体里,要离开的车辆要保存在第三结构体里,同时也用到队列栈, eq oac()当数据输入完整后运行程序,输出要求输出的数据。最后要对车辆位置进行调整就可以了。 运行环境及开发工具运行环境 Microsoft Visual C+ ;开发工具 C/

6、C+概要设计 流程图主菜单主菜单输入记录保存进车出车修改退出-1-1-1-1开始输入输入数据i=-1 i=-1返回主程序返回主程序返回主程序 (1)设计流程图 主要数据结构typedef struct /*用于保存每辆车的信息*/char ch;int chehao;int time;node;typedef struct /*用保存停在停车场的车辆*/int lengh; /*记录车辆的个数*/node numn;queue;typedef struct /*用于保存每辆车的信息*/char ch1;int chepai;int time1;node1;typedef struct /*保存

7、停在便道的车辆*/int front,reare;node1 numb20;squeue;typedef struct /*用于保存每辆车的信息*/char ch2;int cheph;int time;node2;typedef struct /*保存要离开的车辆*/int top;ode2 number30;stack1; 函数及其实现的功能void create(queue &chechang,squeue &biandao,stack1 &departure)用于创建结构体以及输入输出要求输出的数据,void xugai(queue &chechang,squeue &biandao,

8、stack1 &departure);对离开的车辆进行删除在相应结构体的信息以及将可能停在便道上的车辆的信息移到停车场的结构体里相应位置。详细设计 程序代码#include#define n 10typedef structchar ch;int chehao;int time;node;typedef structint lengh;node numn;queue;typedef structchar ch1;int chepai;int time1;node1;typedef structint front,reare;node1 numb20;squeue;typedef structc

9、har ch2;int cheph;int time;node2;typedef structint top;node2 number30;stack1;void main()queue chechang;squeue biandao;stack1 departure;void create(queue &chechang,squeue &biandao,stack1 &departure);void xugai(queue &chechang,squeue &biandao,stack1 &departure);create(chechang,biandao,departure);xugai

10、(chechang,biandao,departure);void create(queue &chechang,squeue &biandao,stack1 &departure)char ch;int chepai;int time;int i,j,k;=0;=-1;=-1;=-1;cout请输入数据 例如 A 1 4;coutchchepaitime;while(ch!=E|chepai!=0|time!=0)if(ch=A&n-1)+;.ch1=ch;.chepai=chepai;.time1=time;else+;.ch2=ch;.cheph=chepai;.time=time;ci

11、nchchepaitime;cout停在停车场的车 车牌号 停车时刻endl;for(i=0;i;i+)couti.chehao i.time;cout ;coutendl;cout停在便道的车 车牌号 停车时刻endl;for(i=0;i+1;i+)couti.chepai i.time1;cout ;coutendl;cout车牌号 停车费用 停车时间endl;coutendl;for(i=0;i=;i+)for(j=0;j;j+)ifi.cheph=j.chehao)k=2*i.j.time);coutj.chehao;cout ;coutk;cout ;coutk/2;coutendl

12、;for(i=0;i=;i+)for(j=0;j=;j+)ifi.cheph=j.chepai)k=i.j.time1;coutj.chepai;cout ;cout0;cout ;coutk;coutendl;void xugai(queue &chechang,squeue &biandao,stack1 &departure)int i,j,k;for(i=0;i=;i+)for(j=0;j;j+)ifi.cheph=j.chepai)while(jj=j+1;j+;for(i=0;i=;i+)for(j=0;j;j+)ifi.cheph=j.chehao)while(jj=j+1;j+

13、;if=;elsek=;k.ch=+1.ch1;k.chehao=+1.chepai;k.time=i.time;调试与操作说明 操作说明输入相应的数据例如(A 1 4)代表进车辆,(D 3 4)代表要离开的车辆,然后以 E 0 A 1 2A 2 3A 1 2A 2 3A 4 5A 3 6D 1 9E 0 0 运行结果停在停车场的车 车牌号 停车时刻1 2;2 3;4 5;3 6;车牌号 停车费用 停车时间1 14 7Press ang key to continueA 1 2A 2 3A 4 5A 3 6D 1 9E 0 0 运行结果停在停车场的车 车牌号 停车时刻1 2;2 3;4 5;3

14、 6;车牌号 停车费用 停车时间 ( 2 )运行结果图1 14 7Press ang key to continue课程设计总结与体会1)编程的核心是算法结构,数据结构又包括逻辑结构和物理结构,编程中要时刻注意这些问题。2)调试过程远远比编程过程繁琐,需要足够的耐心对一个个错误进行修改直至完全正确。并且调试过程也需要一定的技巧,能够选取适当的实验数据对程序进行验证,找到出错的地方以进行修正。 我这次的课程设计题目是关于停车场问题的,总体来说,这个题目还是比较简单的,主要是运用了栈和队列的一些知识和操作。也没有用到其他太多的数据结构知识。程序基本上还是能够运行,结果也正确,能够实现那些基本的车辆

15、到达、离开、收费、遍历显示等主要功能。 但我觉得这个程序还有很多小的地方是可以完善的,比如:在输入登记车辆到达时间的时候,没有相关的小时、分钟数字的限制范围(小时 023,分钟 060);这就使程序不那么健壮了,还有,在计算收费时如果离开时间是到了第二天了,这样就可能会导致收费时负的或减少很多。就是说,还应该算天数,要不就要规定只能当天停,当天开走。我改了几次改不好,又鉴于程序要求中也没有提及,所以我也就没去该了。只要能实现主要的功能就好了。 当然,这次的课程设计、编程实践还是大有收获的。通过实习我的收获如下1、我知道了怎样去简化程序,减少他的时间复杂度和空间复杂度。还知道了怎样去完善程序,使其更具健壮性。2、巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。3、培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。4、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法。5、通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。根据我在实习中遇到得问题,我将在以后的学习过程中注意以下几点: 1、认真上好专业实验课,多在实践中锻炼自己。更让我懂得实践是检验和掌握真理的最好办法。2、写程序的过程中要考虑周到,严密。3、在做设计的时候要有信心,有耐心,切勿浮躁。4、认真的学习课本

温馨提示

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

最新文档

评论

0/150

提交评论