1 / 22
文档名称:

数据结构课程设计报告停车场管理系统.doc

格式:doc   大小:352KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构课程设计报告停车场管理系统.doc

上传人:2286107238 2020/5/14 文件大小:352 KB

下载得到文件列表

数据结构课程设计报告停车场管理系统.doc

相关文档

文档介绍

文档介绍:实验二停车场管理班级:A0712学号:12姓名:冷清淼成绩:__________指导教师签名:__________一、问题描述设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若停车场已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场某辆车要离开时,在它之后进入的车辆必须先退出停车场为它让路,待该辆车开出大门后,其他车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的长短交费(在便道上停留的时间不收费)。设计要求:。要求以顺序栈模拟停车场,以链队列模拟便道。,每组数据包括三项:(1)是“到达”还是“离开”;(2)汽车牌照;(3)“到达”或“离开”的时刻。:如果是到达的车辆,则输出其在停车场中或便道上的位置;如果是离去的车辆,则输出其在停车场中停留的时间和应交的费用。二、(1)用到两个堆栈:一个为车场栈;另一个为临时栈temptypedefstructNODE{CarNode*stack[MAX+1];inttop;}SeqStackCar;/*模拟车场*/一个队列结构,存储便道车辆信息:typedefstructNode{QueueNode*head;QueueNode*rear;}LinkQueueCar;/*模拟便道*/(1)功能模块说明:停车场管理系统含有三个模块,即:车辆到达、离开、列表显示图1(2)以模块为单位分析算法1、“到达”模块:到达时有两种情况,即车场是否满,未满则直接进入停车场;满时,到便道等待。如图2。图22.“离开”模块:离开时,当车库为空时,提示没有车,结束;否则车辆离开。如图3。图33.“显示”模块:显示模块有两个显示选项,即:车场与便道。如图4。图4三、测试结果 (一)测试用例(说明:测试用例要合理并且足够,既要有正确用例,也要有错误用例,同时检验程序的正确性和强壮性)(1)测试输入:停车场的车辆离开,如下表:服务选择车牌号/车位到达/离开时间1QH05815:251AB12318:451EA64223:15220:30210:65(错误)(2)测试目的:测试离开方法时间格式控制以及费用计算是否正确。(3)正确输出:第一次离开的是AB123,。第二次时,当在输入65时,应该提示输入错误,重输。(4)实际输出:(5)错误原因:第一个错误是在计算时,一个数字错了;第二个是没有对时间格式控制。(6)当前状态:(1)测试输入:连续6辆车到达,如下表:服务选择车牌号到达时间1A88287:561S22968:251WW6668:451HK45615:501GH99912:301DD55513:40测试目的:测试到达方法与列表显示方法能否正确完成。(3)正确输出:先到达的五辆车先进入停车场,最后到达的一辆在便道等候。(4)实际输出:(5)错误原因:没有作出时间先后的判断,而是先输入先进入。(6)当前状态:(1)测试输入:接上一步输入离开信息,下表:服务选择离开车位离开时间便道车进入时间2313:3013:40(2)测试目的:测试离开方法功能是否成功以及便道进入车场是否正确。(3)正确输出:输出3号车位的车辆离开信息清单,便道1号车进入停车场。(4)实际输出:错误原因:没有错误。(6)当前状态:通过(二)测试结果分析此停车管理系统基本可能实现一个小的停车场的管理,其“到达”与“离开”方法都相对比较完整,以及结算清单明了。尽管在时间先后上有出现混乱,但当其用到实际应用时,那个时间先后就可以避免了。但在输入数据时,要按照严格的格式输入,否则有可能出现死去或崩溃。若本系统能加上保存功能就更好了,因为一个系统在使用过程中总会关机等,而此系统的缺点却是没有保存功能,关闭之后就要重新建立了。会慢慢完善。附录:源代码///系统说明:本系统适应于小型停车场,且停车时间在一天之的短期停放停车场。//在此系统中,车库容量设置为5,便于测试。在实际使用中可以对容量大小按实际情况设置。#include<>#include<>#include<>#include<>#defineMAX5/*车库容量,可以根据实际情况改变*/#/*一辆车每分钟费用,可变*/typedefstructtime{ inthour;intmin;}Time;/*时间结点*/typedefstructnode{charnum[1