- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
停车场模拟管理程序的设计与实现
一、简介
1.设计目的:
理解线性表的逻辑结构和存储结构,进一步提高使用理论知识指导解决实际问题的能力。
2.问题的描述:
设停车场只有一个可停放几辆汽车的狭长通道,只有一个大门可供汽车进出。汽车在停车场内按车辆到达的先后顺序依次排列,若车场内已停满几辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车辆开走,则排在便道上的第一辆汽车即可进入;当停车场内某辆汽车要开走时,由于停车场是狭长的通道,在它之后开入的车辆必须先推出车场为他让路,待车辆开出大门,为他让路的车辆再按原次序进入车场。试设计这样一个停车场模拟管理程序。
二、数据结构的设计:
对车的信息的定义,只有一个车牌号
定义栈,用于表示车位
定义一个队列,并定义头尾指针
栈s1,s2分别用于表示车位和辅助站,队列p用于表示便道
创建队列,并初始化
队列中元素的输入与删除,表示了有车进入便道和离开便道
有车进入停车场:如果有空车位,进入车位;否则,进入便道等候
有车离开车位:1进行查找,从栈的最后一位开始找起,不符合的辅助栈;2查找成功,将其出栈,辅助栈汽车重新回到车位中;并使便道上的车进入车位,将车位补满;3查找失败,进行下方else,将进入辅助站的车重新返回车位上,并显示没有此车
显示停车位信息:1如果车位为空,显示没有车2车位上有车,显示第几号车位及停放车辆的车牌号
数据出栈,表示有车离开车位,top和z相应减一,并返回栈内数据的数量
创建栈,数据进栈,并有判满和数据计数器相应加一
用的是一个switch语句实现输入不同操作选项,调用不同的函数,进入不同的操作板块
三、功能(函数)设计:
1车辆进入停车场模块:
·Arrive函数:有车进入停车厂;
·s-top==maxsize-1:对栈进行判满,f=0,栈满,调用Enlinkqueue函数;f=1,栈不满,调用Push函数;
·Push函数:使车进入车位;
·Enlinkqueue函数:车位已满,使车停入便道,等候进入车位;
2车辆离开停车场模块:
·Leave函数:有车要离开车位;
·y.num!=x.num:查找车位上是否存在要离开的车,是f=0,不是,f=1;
·n=push(s2,y);y=pop(s1):f=1,不是要离开的车辆,进行此重复循环,从栈顶依次查找要离开的车辆;
·y=pop(s1);y=pop(s2);f=push(s1,y):f=0,找到了要离开的车辆,出栈,并将进入到辅助栈的车返回车位;
·q-front==q-rear:有空车位,将便道上的车开进车位,n!=0,便道上有车;n=0,便道上没有车了,用返回值0表示;
·y.num=n;f=push(s1,y):将便道上的车开进车位;
3停车场信息显示模块:
四、界面设计:
用的是一个switch语句实现输入不同操作选项,调用不同的函数,进入不同的操作板块。
五、程序设计:
主要函数:
·Arrive函数:有车辆进入停车场的实现;
·Leave函数:对有车辆要离开停车场的实现;
·Pp函数:显示停车场车位信息;
·Push函数:对元素进栈的操作,即有车辆进入车位的实现;
·Pop函数:对元素出栈的操作,即有车辆从车位里出来的实现;
·Enlinkqeueu函数:对数据进入队列的操作,即有车辆进入便道的实现;
·Delinkqeueu函数:对数据出队列的操作,即有车辆离开便道的实现;
编写代码期间遇到的问题:
1在定义函数时,定义了多个不同形式的指针,但在使用时发生那个了错误,出现了指针所指信息错误;
2在车辆进出停车场的实现中,要不断调用查找,出栈出栈,队列上元素的出栈函数;表示车位的栈和辅助栈之间的数据转存,队列中的元素进入便道等操作比较麻烦,需要设置不同标志量和判断函数进行出栈进栈函数的不断调用,常会出现错误。
解决办法:
查找资料对指针的使用以及各种操作的实现进行了深入了解,先把各部分的函数保证准确;在函数调用过程中,画出大致流程图,对照路程图进行判断条件的编写和函数的调用。
六、运行与测试:
1、测试的数据及其结果:
(1)点击A进行输入,分别输入车牌号1,2,3,4,5;
(2)输入车牌号6,7,8,车位已满,多余的车进入便道等待进入车位;
(3)显示此时停车场的信息;
(4)将车位上的车牌号为2和4的车就开除车位;
2、运行与测试期间遇到的问题及其解决办法。
(1)、问题1:在进行进场出场信息的输入时,只能进行一次;
解决办法:设置一个标志量flag和swith循环,在每一次操作后返回到操作步骤;
(2)、问题2:在进行了车辆开出停车场操作后,不能正确显示变化后的车位信息;
解决方法:求助同学,添加变量n等,重新调整显示信息模
您可能关注的文档
- 课程设计---基于DS18B20的单片机温度采集系统.doc
- 课程设计---基于LCD的电子时钟设计.doc
- 课程设计---基于MATLAB的FIR滤波器设计.doc
- 课程设计---圆锥-圆柱斜齿轮二级减速器.doc
- 课程设计---基于UML的图书管理系统建模.doc
- 课程设计---基于SIMULINK的2ASK频带传输系统的仿真.doc
- 课程设计---基于TMS320F2812 DSP处理器的信号仪的设计与实现.doc
- 课程设计---基于Pro-E的三维造型与模具分模.doc
- 课程设计---基于单片机的数字式秒表的设计.doc
- 课程设计---基于串口通信的高级语言控制程序的设计.doc
- 4.1 陆地水体及其关系 课件高二上学期地理中图版(2019)选择性必修一.pptx
- 混凝土结构与砌体结构设计习题集 .pdf
- 统编版语文四年级下册 22.古诗三首 课件(共50张PPT).pptx
- 青海2024行测笔试真题及答案 .pdf
- 2.1 充分发挥市场在资源配置中的决定性作用 课件-高中政治统编版必修二经济与社会.pptx
- 27.巨人的花园 课件(共58张PPT).pptx
- 统编版语文一年级下册5 树和喜鹊 第1课时 课件(共37张PPT).pptx
- 2.1 充分发挥市场在资源配置中的决定性作用 课件政治一轮复习统编版必修二经济与社会.pptx
- 贵港市平南县2024届小升初考试语文试卷含答案 .pdf
- 小学期末考试质量分析 .pdf
文档评论(0)