数据结构课程设计停车场管理系统Word格式文档下载.docx
《数据结构课程设计停车场管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计停车场管理系统Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
;
};
/*模拟车场*/
(2)一个队列结构,存储便道车辆信息:
*;
};
/*模拟便道*/
2.算法说明
(1)功能模块说明:
停车场管理系统含有三个模块,即:
车辆到达、离开、列表显示
图1
(2)以模块为单位分析算法
1、“到达”模块:
到达时有两种情况,即车场是否满,未满则直接进入停车场;
满时,到便道等待。
如图2。
图2
2.“离开”模块:
离开时,当车库为空时,提示没有车,结束;
否则车辆离开。
如图3。
图3
3.“显示”模块:
显示模块有两个显示选项,即:
车场与便道。
如图4。
图4
三、测试结果
(一)测试用例(说明:
测试用例要合理并且足够,既要有正确用例,也要有错误用例,同时检验程序的正确性和强壮性)
1.第一组测试用例
(1)测试输入:
停车场的车辆离开,如下表:
服务选择
车牌号/车位
到达/离开时间
1
058
15:
25
123
18:
45
642
23:
15
2
0:
30
65(错误)
(2)测试目的:
测试离开方法时间格式控制以及费用计算是否正确。
(3)正确输出:
第一次离开的是123,应交费3.45元。
第二次时,当在输入65时,应该提示输入错误,重输。
(4)实际输出:
(5)错误原因:
第一个错误是在计算时,一个数字错了;
第二个是没有对时间格式控制。
(6)当前状态:
已改正
2.第二组测试用例
连续6辆车到达,如下表:
服务选择
车牌号
到达时间
A8828
7:
56
S2296
8:
666
456
50
999
12:
555
13:
40
(2)测试目的:
测试到达方法与列表显示方法能否正确完成。
先到达的五辆车先进入停车场,最后到达的一辆在便道等候。
没有作出时间先后的判断,而是先输入先进入。
待修改
3.第三组测试用例
接上一步输入离开信息,下表:
离开车位
离开时间
便道车进入时间
3
测试离开方法功能是否成功以及便道进入车场是否正确。
输出3号车位的车辆离开信息清单,便道1号车进入停车场。
没有错误。
(6)当前状态:
通过
(二)测试结果分析
此停车管理系统基本可能实现一个小的停车场的管理,其“到达”与“离开”方法都相对比较完整,以及结算清单明了。
尽管在时间先后上有出现混乱,但当其用到实际应用时,那个时间先后就可以避免了。
但在输入数据时,要按照严格的格式输入,否则有可能出现死去或崩溃。
若本系统能加上保存功能就更好了,因为一个系统在使用过程中总会关机等,而此系统的缺点却是没有保存功能,关闭之后就要重新建立了。
会慢慢完善。
附录:
源代码
系统说明:
本系统适应于小型停车场,且停车时间在一天之内的短期停放停车场。
在此系统中,车库容量设置为5,便于测试。
在实际使用中可以对容量大小按实际情况设置。
<
>
5/*车库容量,可以根据实际情况改变*/
0.01/*一辆车每分钟费用,可变*/
{
/*时间结点*/
[10];
/*车辆信息结点*/
/*模拟停车场*/
/*方法声明*/
(*);
/*初始化栈*/
/*初始化便道*/
(**);
/*车辆到达*/
(***);
/*车辆离开*/
();
/*显示信息*/
(*);
/*输出离开车辆的信息清单*/
()
("
F2"
);
/*设置系统颜色,本系统为白底绿字f2*/
/*初始化车站*/
/*初始化让路的临时栈*/
/*初始化通道*/
(1)
{
<
"
※※※※@欢迎使用本停车管理系统@※※※※"
;
********************************************************"
※※1.车辆到达※※"
<
※※2.车辆离开※※"
※※3.列表显示※※"
※※4.退出系统※※"
!
说明:
请注意正确输入时间,在输入“时”后,按“”或者“空格”,再输入“分”。
不要为非数字!
请选择所需要的服务!
(1-4)."
{
>
(>
=1<
=4);
输入错误!
请选择:
(1-4)."
}
{
1();
/*车辆到达*/
2();
3();
/*列表显示信息*/
4(0);
/*退出主程序*/
:
}
}
(*s)/*初始化栈*/
{
i;
>
0;
(0<
)
[>
];
(*Q)/*初始化便道*/
(*)(());
(1);
(-1);
(**W)/*车辆到达*/
*p;
*t;
(*)(());
请输入车牌号(例1234):
)/*车场未满,车进车场*/
车辆在车场第"
位置!
请输入到达时间:
(小时:
分钟)"
0>
23)控制时间格式正确
请重输入到达时间的时(0-23)!
59)控制分钟输入正确
请重输入到达时间的分(0-59)!
/*车场已满,车进便道*/
车场已满,请在便道等待!
(***W)/*车辆离开*/
*q;
/*判断车场内是否有车*/
0)/*有车*/
(1)/*输入离开车辆的信息*/
<
请输入车在车场的位置1"
:
>
);
)/*车辆离开*/
/*临时通道栈顶指针*/
]>
}
=1)/*判断临时通道上是否有车*/
((>
)>
)/*车站是未满*/
{/*便道的车辆进入车场*/
>
/*p指向链队头*/
便道的"
号车进入车场第"
请输入现在的时间如(小时:
分钟):
23)
{
}
59)
)>
(q);
/*释放q地址*/
便道里没有车!
/*便道没车*/
车场里没有车!
/*车场没车*/
(*)/*输出离开车辆的信息清单*/
A1212;
请输入离开的时间:
请重输入离开的时间的时(0-23)"
B1>
}
离开车辆的车牌号为:
其到达时间为:
"
离开时间为:
A1>
A2>
B1>
B2>
应交费用为:
(((B11)*60+(B22))+1440)%1440*<
元!
(p);
1(*S)/*列表显示车场信息*/
您选择的是车场停车情况!
0)/*判断车站内是否有车*/
位置到达时间车牌号"
(1<
i<
[i]->
2(*W)/*列表显示便道信息*/
您选择的是便道停车情况!
1;
)/*判断通道上是否有车*/
等待车辆的车牌号码为: