网站大量收购独家精品文档,联系QQ:2885784924

课程设计—停车场模拟管理程序的设计与实现.doc

课程设计—停车场模拟管理程序的设计与实现.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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等,重新调整显示信息模

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档