数据结构课程设计 停车场管理系统方案.docVIP

  • 17
  • 0
  • 约9.47千字
  • 约 13页
  • 2019-06-25 发布于安徽
  • 举报

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

. . 实验二 停车场管理 班级:A0712 学号:12 姓名:冷清淼 成绩:__________ 指导教师签名:__________ 一、问题描述 设停车场是一个可停放n辆车的狭长通道.且只有一个大门可供汽车进出。在停车场内.汽车按到达的先后次序.由北向南依次排列(假设大门在最南端)。若停车场内已停满n辆车.则后来的汽车需在门外的便道上等候.当有车开走时.便道上的第一辆车即可开入。当停车场内某辆车要离开时.在它之后进入的车辆必须先退出停车场为它让路.待该辆车开出大门后.其他车辆再按原次序返回车场。每辆车离开停车场时.应按其停留时间的长短交费(在便道上停留的时间不收费)。 设计要求: 1.模拟上述管理过程。要求以顺序栈模拟停车场.以链队列模拟便道。 2.从终端读入汽车到达或离去的数据.每组数据包括三项: (1)是“到达”还是“离开”; (2)汽车牌照号码; (3)“到达”或“离开”的时刻。 3.与每组输入信息相应的输出信息为:如果是到达的车辆.则输出其在停车场中或便道上的位置;如果是离去的车辆.则输出其在停车场中停留的时间和应交的费用。 二、算法说明 1.数据结构说明 (1)用到两个堆栈:一个为车场栈;另一个为临时栈temp typedef struct NODE{ CarNode *stack[MAX+1]; int top; }SeqStackCar; /*模拟车场*/ 一个队列结构.存储便道车辆信息: typedef struct Node{ QueueNode *head; QueueNode *rear; }LinkQueueCar; /*模拟便道*/ 2.算法说明 (1) 功能模块说明:停车场管理系统含有三个模块.即:车辆到达、离开、列表显示 图1 (2)以模块为单位分析算法 1、“到达”模块:到达时有两种情况.即车场是否满.未满则直接进入停车场;满时.到便道等待。如图2。 图2 2.“离开”模块:离开时.当车库为空时.提示没有车.结束;否则车辆离开。如图3。 图3 3. “显示”模块:显示模块有两个显示选项.即:车场与便道。如图4。 图4 三、测试结果 (一)测试用例(说明:测试用例要合理并且足够.既要有正确用例.也要有错误用例.同时检验程序的正确性和强壮性) 1.第一组测试用例 (1)测试输入:停车场的车辆离开.如下表: 服务选择 车牌号/车位 到达/离开时间 1 QH058 15:25 1 AB123 18:45 1 EA642 23:15 2 2 0:30 2 1 0:65(错误) (2)测试目的:测试离开方法时间格式控制以及费用计算是否正确。 (3)正确输出:第一次离开的是AB123.应交费3.45元。第二次时.当在输入65时.应该提示输入错误.重输。 (4)实际输出: (5)错误原因:第一个错误是在计算时.一个数字错了;第二个是没有对时间格式控制。 (6)当前状态:已改正 2.第二组测试用例 (1)测试输入:连续6辆车到达.如下表: 服务选择 车牌号 到达时间 1 A8828 7:56 1 S2296 8:25 1 WW666 8:45 1 HK456 15:50 1 GH999 12:30 1 DD555 13:40 测试目的:测试到达方法与列表显示方法能否正确完成。 (3)正确输出:先到达的五辆车先进入停车场.最后到达的一辆在便道等候。 (4)实际输出: (5)错误原因:没有作出时间先后的判断.而是先输入先进入。 (6)当前状态:待修改 3.第三组测试用例 (1)测试输入:接上一步输入离开信息.下表: 服务选择 离开车位 离开时间 便道车进入时间 2 3 13:30 13:40 (2)测试目的:测试离开方法功能是否成功以及便道进入车场是否正确。 (3)正确输出:输出3号车位的车辆离开信息清单.便道1号车进入停车场。 (4)实际输出: 错误原因:没有错误。 (6)当前状态:通过 (二)测试结果分析 此停车管理系统基本可能实现一个小的停车场的管理.其“到达”与“离开”方法都相对比较完整.以及结算清单明了。尽管在时间先后上有出现混乱.但当其用到实际应用时.那个时间先后就可以避免了。但在输入数据时.要按照严格的格式输入.否则有可能出现死去或崩溃。若本系统能加上保存功

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档