system(\背景为黑底紫字*/ /*初始化*/
set1();system(\开头动画*/ SeqStackCar Enter,Temp; LinkQueueCar Wait; int ch; int n; printf(\☆★该停车场管理系统是个比较简单系统,在应用的时候请注意要求☆★ \\n\
printf(\ ☆★如果您有任何问题,请及时联系我们,谢谢合作☆★\\n\ printf(\╭----- ╮ \\n\ printf(\╰-╮ ╭-╯ ..____.╭╮╭╮.____ .. \\n\ printf(\╭╯╰-╯╰╮-╮ .._... ╭-┴┴★╮ .._.. \\n\ printf(\|◢█◣◢█◣||| .._...│ ︵ │ .._.. \\n\ printf(\|██████||| .._...│◎ │.._.. \\n\ printf(\|◥████◤||| ...※※※╰○---○╯※※※ .. \\n\ printf(\| ◥██◤ |╯╯ ................ .. \\n\ printf(\| ◥◤ | ★∵∴☆★∵∴★∵∴☆★∵∴☆★ \\n\ printf(\╰============╯ \\n\
n=getn();
InitStack(&Enter,n); /*初始化车场*/
InitStack(&Temp,n); /*初始化让路的临时栈*/ InitQueue(&Wait); /*初始化便道*/ // while(1) // { while(1)
{ printf(\◆ * ★☆★☆欢迎使用本停车管理系统☆★☆★ * ◆ \\n\
printf(\******\\n\
printf(\ ※ --※ 1. 车辆到达 ※-- ※ \\n\
printf(\ ※ --※ 2. 车辆(位置 )离开 ※-- ※ \\n\
printf(\ ※ --※ 3. 车辆(车牌号)离开※-- ※ \\n\
26
printf(\ ※ --※ 4. 列表显示 ※-- ※ \\n\
printf(\ ※ --※ 5. 退出系统 ※-- ※ \\n\
printf(\**\\n\
printf(\本停车场管理实行24小时制*\\n\
printf(\本停车场有会员服务,会员0.05/每分钟,非会员0.1/每分钟*\\n\
printf(\请选择所需要的服务:1|2|3|4|5.\\n\ scanf(\ fflush(stdin); while(ch>5||ch<1) {
printf(\输入有误,请重新输入:\ scanf(\ fflush(stdin); break; }
switch(ch) {
case 1:Arrival(&Enter,&Wait,n);break; /*车辆进站*/
case 2:Leave(&Enter,&Temp,&Wait,n);break; /*车辆出站*/
case 3:ExitCar(&Enter,&Temp,&Wait,n);break; //车辆离开,车牌号的离开 case 4:List(Enter,Wait);break; /*存车信息*/ case 5:out2(); /*退出系统*/ default:break; } } }
八、测试报告
(一)测试用例(说明:测试用例合理并且足够,既有正确用例,也有错误用例,同时检验程序的正确性和强壮性),为了检验方便,我们以车场有3个车位来做:
27
1.第一组测试用例
(1)测试输入:停车场的车辆离开,如下表: 服务选择/是车牌号/车位 到达/离开时间 否是会员 1 A1234 45:12 09:00 1 B3456 10:12 2 1 08:00 1 10:32 (2)测试目的:测试到达方法时间格式控制以及费用计算是否正确
28
(3)正确输出:第一次到达时应该会提示车辆进入第一个车道,第二次输入时间,会提示输入时间格式有错误,请重新输入,如图1
第三次是B3456到达车站,在第二个位置,第四次输入2,离开时输入08:00会提示输入离开时间比进站时间早,请重新输入,如图2
第五次输入10:32时,会得到一个车辆清单,以及便道车辆情况,如图3 (4)实际输出
(图1)
29
(图2)
(图3)
(5)错误原因:第一个错误是进入车站时的时间格式错了,第二个错误是进入车站的时间比离开时间晚
(6)当前状态:已改正
30