数据结构实验二停车场管理问题

数据结构实验二停车场管理问题

ID:47659161

大小:840.04 KB

页数:22页

时间:2019-10-18

数据结构实验二停车场管理问题_第1页
数据结构实验二停车场管理问题_第2页
数据结构实验二停车场管理问题_第3页
数据结构实验二停车场管理问题_第4页
数据结构实验二停车场管理问题_第5页
资源描述:

《数据结构实验二停车场管理问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、HUNANUNIVERSITY课程实习报告题目:停车场管理问题学生姓名学生学号专业班级指导老师李晓鸿完成日期2015年11月25日一、需求分析1・输入的形式的输入的范围:①.选择功能:1停车2离开停车场3离开过道②.若输入1(停车),输入当前车牌号和当前的时间;若输入2(离开停车场),输入车票号和当前时间;若输入3(离开过道),输入车牌号。2•输出的形式:①.提示选择功能“1.停车2离开停车场3离开过道”。②.若输入1(停车),并R输入当前车牌号和当前的时间后,若停车场未满,输出“成功停入停车场,停车场内有n

2、辆车,过道上有m辆年等候”;若停车场满,输出“停车场已满,请在过道等候”。若输入2(离开停车场),输入车栗号和当前时间,输岀“存车总计时间,收费q元,停车场内有n辆车,过道上有m辆车等候”;如果进停车场和出停车场时间错误,输出“时间输入冇误,请重新输入”;如果停车场没有此车,输出“车牌号冇误,请重新输入”。若输入3(离开过道),输入车牌号,输出“此乍已成功离开过道”;若无此车,输出“停车过道为空”。若输入其他,则提示选择功能“1•停车2离开停车场3离开过道”。3•程序所能达到的功能:有一个可以停放n辆汽车的狭

3、长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里而向大门口处停放(最先到达的第一辆千放在停车场的最里而)。如果停车场已放满n辆车,贝怖来的车辆只能在停车场人门外的便道上等待,一口停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它Z后进入停示场的车都必须先退出停示场为它让路,待其开出停车场后,这些千辆再依原來的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就耍离去,允许其离去,不收停车费,

4、并且仍然保持在便道上等待的车辆的次序。4•测试数据:①正常的进入停车场,出停车场,离开过道的模拟输入11(车牌)1(当前时间)输入11(车牌)1(当前时间)输入22(车牌)3(当前时间)输入12(车牌)4(当前时间)输入13(车牌)4(当前时间)输入34(车牌)①.停车场里没有车出停车场的模拟输入21(车牌)②.过道没车出过道的模拟输入31(车牌)③.进入停车场时间与出停车场时间的模拟输入11(车牌)1(进停车场的时间)输入21(车牌)0(出停车场的时间)④.停车场模拟系统功能输入错误输入4二.概要设计抽象数

5、据类型:①.由于该停车场只冇一个门供出入,并R最先进的停在停车场的最末,最先进的车辆要出停车场需要之后进入的车先出,满足先进后出的结构,其限制是仅允许在表的-端进行插入和删除运算,所以用栈來模拟停车场。②.由于这是一个模拟的年库,年辆出停年场,后而车辆不得不被动跟着出停车场,我们需要对这些车辆进行管理,将第一辆被动出停车场的放置到一个队伍的前端,接下来被动出停车场的车辆依次放到第一辆车Z后,当需要离开的车出栈后,对被动出停车场的车辆进行管理,又队伍的前端依次进入停千场,由于满足只允许在农的前端进行删除操作,而

6、在农的后端进行插入操作,所以用队列來模拟被动出停车场车辆的管理。基本思想1•给定一个size为停车场的容量。2.每一辆年进栈前,储存千辆编号和进栈的吋I'可。3.对于栈满的情况,再來的车辆不进栈,只记录编号。4.对于出栈的车辆,先将出栈车辆之前的停车场内车辆由后往前依次进入队列小,将进栈和岀栈时间相比较算出需要付的金额,之后再将队列中的元素山而往后依次进栈。程序的流程程序由三个模块组成:输入模块:按照提示输入计算模块:计算(出栈时间■进栈时间)*每小时金额。输出模块:首先提示〃请选择:1、停车;2、离开停车场

7、;3、离开过道;〃选择1.2提示〃请输入车牌号和现在的时间:〃选择3提示“请输入车牌号”基本ADT①.栈空判别算法intEmpty_SeqStack(queue*s){if(s~>top==-1)return();elsereturn1;}②.入栈算法voidPushSeqStack(queue*s,Datatypex){s_〉top++;s->datal[s->top]二x;return;}③.出栈算法voidPop_SeqStack(queue*s,Datatype*x)*x=s->datal[s->to

8、p]:s~>top-一;return;④.列队初始化C_SeQueue*Tnit_SeQueue(){C_SeQucue*q;q=newCSeQueue;q->front=q->rear=MAXSIZE-1;q->num=0;returnq;}①.入队算法voidInSeQueuc(CSeQucue*q,Datatypex){q->rear二(q->rear+1)%MAXSIZE;q->data2[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。