- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二 停车场管理
班级:A0712
学号:12
姓名:冷清淼
成绩:__________
指导教师签名:__________
一、问题描述
设停车场是一个可停放 n 辆车的狭长通道,且只有一个大门可供汽车进出。 在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。 若停车场内已停满 n 辆车,则后来的汽车需在门外的便道上等候,当有车开走 时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入 的车辆必须先退出停车场为它让路,待该辆车开出大门后,其他车辆再按原次 序返回车场。每辆车离开停车场时,应按其停留时间的长短交费(在便道上停 留的时间不收费)。
设计要求:
.模拟上述管理过程。要求以顺序栈模拟停车场,以链队列模拟便道。
.从终端读入汽车到达或离去的数据,每组数据包括三项:
是“到达”还是“离开”;
汽车牌照号码;
“到达”或“离开”的时刻。
3.与每组输入信息相应的输出信息为:如果是到达的车辆,则输出其在停 车场中或便道上的位置;如果是离去的车辆,则输出其在停车场中停留的时间 和应交的费用。
二、算法说明
1.数据结构说明
(1)用到两个堆栈:一个为车场栈;另一个为临时栈 temp
typedef struct NODE{
CarNode *stack[MAX+1];
int top;
}SeqStackCar; /*模拟车场*/
(2)一个队列结构,存储便道车辆信息:
1
进入停车场
进入停车场
车辆到达
停车场是否满
否
结束
是
进入便道
车辆到达
车辆离开
列表显示
typedef struct Node{
QueueNode *head;
QueueNode *rear;
}LinkQueueCar; /*模拟便道*/
2.算法说明
(1) 功能模块说明:停车场管理系统含有三个模块,即:车辆到达、离开、列表显示
停车场系统
1
3
2
图 1
(2)以模块为单位分析算法
1、“到达”模块:到达时有两种情况,即车场是否满,未满则直接进入停车场;满时, 到便道等待。如图 2。
图 2
2
车辆离开提示没
车辆离开
提示没有车
车进入车场
显示车场列表
显示便道列表
2.“离开”模块:离开时,当车库为空时,提示没有车,结束;否则车辆离开。如图
3。
车辆离开
停车场是否空
否
是
是
便道是否有车
否
结束
图 3
3. “显示”模块:显示模块有两个显示选项,即:车场与便道。如图 4。
列表显示
判断输入值
1.车场
2.便道
结束
图 4
3
三、测试结果
(一)测试用例(说明:测试用例要合理并且足够,既要有正确用例,也要有错误用 例,同时检验程序的正确性和强壮性)
1.第一组测试用例
(1)测试输入:停车场的车辆离开,如下表:
服务选择
车牌号/车位
到达/离开时间
1
QH058
15:25
1
AB123
18:45
1
EA642
23:15
2
2
0:30
2
1
0:65(错误)
测试目的:测试离开方法时间格式控制以及费用计算是否正确。
正确输出:第一次离开的是 AB123,应交费 3.45 元。第二次时,当在输入 65 时, 应该提示输入错误,重输。
实际输出:
(5)错误原因:第一个错误是在计算时,一个数字错了;第二个是没有对时间格式控
制。
(6)当前状态:已改正 2.第二组测试用例
4
(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
测试目的:测试到达方法与列表显示方法能否正确完成。
正确输出:先到达的五辆车先进入停车场,最后到达的一辆在便道等候。 (4)实际输出:
(5)错误原因:没有作出时间先后的判断,而是先输入先进入。 (6)当前状态:待修改
3.第三组测试用例
(1)测试输入:接上一步输入离开信息,下表:
服务选择
离开车位
离开时间
便道车进入时间
2
3
13:30
13:40
5
测试目的:测试离开方法功能是否成功以及便道进入车场是否正确。
正确输出:输出 3 号车位的车辆离开信息清单,便道 1 号车进入停车场。 (4)实际输出:
错误原因:没有错误。
当前状态:通过
(二)测试结果分析
此停车管理系统基本可能实现一个小的停车场的管理,其“到达”与“离开”方法
都相对比较完整,以及结算清单明了。尽管在时间先后上有出现混乱,但当其用到实际应
用时,那个时间先后就可以避免了。但在输入数据时,要按照严格的格式输入,否则有可
能出现死去或崩溃。若本系统能加上保存功能就更好了,因为一个系统在使用过程中总会
关机等,而此系统的缺点却是没有保存功
文档评论(0)