停车场管理系统(六)

第五章 算法的测试

 

5.1 主菜单界面测试

1、主菜单界面如图所示:


 

2、当用户输入1的时候系统会自动进入车辆到达停车场的登记模块,如图所示:


3、当用户输入2的时候系统会自动进入到车辆离开停车场的登记模块,如图所示:



4、当用户输入3的时候系统将自动进入车辆到达便道的登记模块,如图所示:


 

5、当用户输入4的时候系统将自动进入车辆离开便道的登记模块,如图所示:


 

6、当用户输入5的时候系统将自动进入停车场车辆信息模块:

   

当停车场存在车辆时,就会将所有车辆信息打印出来,如图所示:


 

当停车场没有车辆时(车位未被初始化),如图所示:



7、当用户输入6的时候系统将会自动进入便道车辆信息模块,如图所示:


 

8、当用户输入7的时候系统退出,如图所示:


 

5.2 停车场车辆管理测试

1、进入车辆道道停车场的登记模块之后,按照提示输入车牌号,如果车牌号有效(不为0),且与停车场中存在的车牌号不重复,则为该车牌号分配空位,更新车辆信息,如图所示:

 


如果输入的车牌号重复则无法再次登记,在输出停车场所有的车辆信息之后,系统推出,如图所示:


 

2、在进入车辆离开停车场的登记模块时,用户输入的车牌号如果在停车场的车辆信息内可以找到的话,就会将该车辆上的车位信息全部初始化,并会提示用户是否要将该车辆进入便道,如图所示:


 

 

 

输入0时,系统会提示用户继续输入要离开停车场的车辆的车牌号,如果输入的车牌号存在则继续执行离开操作,否则返回主菜单,如图所示:



 

输入1时,系统会将该车牌号登记进入停车场,更新停车场车辆信息,并将停车场内的所有车辆信息输出,如图所示:


 

 

5.3 便道车辆管理测试

1、在进入车辆到达便道的登记模块的时候,如果用户输入的车牌号有效且不与便道内的车牌号重复,则将车辆登记进入便道,更新便道车辆信息,如果车牌号重复,则提示无法登机,将便道车辆信息全部输出返回主菜单,如图所示:



2、当进入车辆离开便道的登记模块的时候,如果用户输入的车牌号在便道内存在,系统将会把该车位的车辆信息全部初始化,如图所示:



如果用户输入的车牌号不存在则系统会提示查无此车牌号,并返回主菜单,如图所示:


 

3、系统会提示是否将离开便道的车辆进入停车场,输入1,系统将会自动将车辆登记进入停车场,更新停车场车辆信息,在将该车辆修改后的信息输出之后,系统还会将停车场的车辆信息全部输出,如图所示:


 

 

 

 

5.4 信息总览测试

停车场车辆信息和便道车辆信息模块相似,在此只给出停车场车辆信息的测试。

1、进入停车场车辆信息模块时系统会自动将停车场内的所有车辆信息输出,如图所示:


 

如果停车场内没有车辆,系统则会提示没有车辆,并返回主菜单,如图所示:


 

如果停车场内本来有车,但是离开了之后,由于栈内数据不做出栈处理,所以会输出被初始化后的车位信息,如图所示:


  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验二 停车场管理 班级: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)当前状态:通过 (二)测试结果分析 此停车管理系统基本可能实现一个小的停车场的管理,其"到达"与"离开"方法都相对比 较完整,以及结算清单明了。尽管在时间先后上有出现混乱,但当其用到实际应用时, 那个时间先后就可以避免了。但在输入数据时,要按照严格的格式输入,否则有可能出 现死去或崩溃。若本系统能加上保存功能就更好了,因为一个系统在使用过程中总会关 机等,而此系统的缺点却是没有保存功能,关闭之后就要重新建立了。会慢慢完善。 附录:源代码 ///系统说明:本系统适应于小型停车场,且停车时间在一天之的短期停放停车场。 //在此系统中,车库容量设置为5,便于测

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值