《停车场管理系统的设计与实现数据结构课程设计.docx》由会员分享,可在线阅读,更多相关《停车场管理系统的设计与实现数据结构课程设计.docx(42页珍藏版)》请在优知文库上搜索。
1、熬据信相裸程被计题目:停车场管理系统班级:网络工程姓名:朱锦涛学号:E31314037完成日期:2015年口月15日一.需求分析1.停在便道;2 .停在车库;3 .从车库移到便道;4 .从便道移到车库;5 .从车库取车;6 .从便道取车;综上所述可知,总共有4种停车方式。1 .若始终停在便道中,须要在进入便道时以浮点数输入进入时间,当选择6取车时,须要输入在便道中停车的时间。在便道中提车时会显示进入的时间,以及是否须要发票,在计算完停车费用后退出主菜单。ECt8*等3DebugSW.1.exe了迎理到便道停卒,我们将谒诚为无原务!育输入列达利血窗嬲3膘罐盛蹄制!F面是菜单,请继续选择或者按。退
2、出择道库选里行蜀至wis库is系-S1234S60车票统!的车要道“ws本便”的H盘骨前到.4mwi.1迎黑唱选好保谢面是菜单,请继续选择或者按。退出择矍选行issrt4iiHHS*.0-1=伫.i.,1.A从从退-S1234S60fj.2 .若始终停在车库中,会在进入时检测车库是否满,若不满,允许进入,同样提示输入到达时间,当选择5取车时,须要输入在车库停车时间。提车时,会显示进入的时间,以及是否须要发票,在计算完停车费用后退到主菜单。穴艘到丰度堤丰,我们将画诚为您服务!青敏到达军库时间,t*情税3源辘馨左群车财!F面是菜单,请继续选择或者按e退出!雨即统南-3系至使出皆到车:32施匕孚.,
3、sI主主您好,您的车到达车库时间是43MW:的自开时闻5.1发票1:装不需要发票,碌示不需要发票。BB元以使府本系统.祝您一路顾风!1单.请继续选择或者按。退出,s三s道库is系1墨S5SWH3 .若先在车库停车后又转到便道停车,则会先检测车库是否满了,这是这个状况满意的放大前提,之后须要输入到达车库时间,其实这也没什么用,因为散终计算费用时,只会加上转移位置的20元费用和在便道停的费用。在提车时会显示有在本件车场转移位置的信息。-E:CeMgDebugaeS.1.exe-S!1间必IB1.停时21时Ta库.的罐靠3到达照便甯牌达更HS迎的的箱4fNt,请继续选择或者按。退出:便道系到HH讲-
4、i统质董遇库is系三4si停.I=1MMnM./Z辆1234S602,伤Jt.J理.9要耀鼎s拿H1王有离票87!.e的发.M票统的场丰要H发补逼45,毒WS本便21sn甫到s8面是菜单,请继续选择或者按。退出!HHm*请输WIB来造行选择MHW1Si三2.fi3.从车库移到便道44便道核到丰库s.A%6鹏便道班至0.温出系线4.若先在便道上停车,后又到车库停,原理同3,在此不再赘述C夏1Bta-zf4568迎,更知到壬庠停至!的爱军到达也的时军是2-1的瞪车啤寞是:4321辐入狗送车库的时间I=!喇军辆已经移动到车库!下面是菜单.请继续选择或S按。退出,择道库选傕行is41H进壹蓊8J.1r
5、tHi便出01.=-kJ2,1234560atQ7aBIQ二个5兀时乐-J-率8达惠盘器w,信衍好撵日!王有高亮物!4-击矍.221毒1本43s1思你用-到.Sn叼辅选好保谢,潘继续选抒或者按。退出,-选1.1TH道库道系6港车出UM111234-560is二.概要设计1 .由于栈的特殊出栈入栈依次,所以全部进入车库的车辆必需遵守“先进后出”的依次来停车和提车,由于栈是依次结构,所以在进入车库时须要检测车库是否饱和,在提车时也须要检测车库是否为空;2 .同时,队列须要满意“先进先出”的思想,但此次试脸用的链式结构,一般来说,不存在饱和状况,但在提车时候须要检测便道是否有车。3 .栈的数据域存放
6、进入车库的时间,车牌,队列节点数据域存放进入便道的时间车牌,设置标记是否在停车场内更改停车位置,有更改则置为1,否则为0。4 .假如一辆车车库移到便道,除了更换进入便道的时间外,车牌号从链表的数据里得到,从便道移到车库也类似。另夕卜,更改位置前停放费用不计入最终的费用。5 .除了要输入进入时间,在更换停车位置时须要揄入进入时间,在最终提车时须要输入离开时间,便利计算总费用。三.具体设计1 .主函数设置两个选择:最外层的选择显示是用户自己选择停车还是系统选择停车位置,最里层的选择为主菜单。2 .进入车库(入栈)();:进入车库时间;车牌号:显示是否更改过停车位置3 .离开车库(出栈)();将后面
7、三个形参设置为引用调用是为了得到数据域里的数据,供主函数运用4 .进入便道();5 .离开便道();将后面三个形参设置为引用调用是为了得到数据域里的数据,供主函数运用。(其实在主函数传地址给调用函数也可以,但是不知道为什么没有试脸胜利。)6 .()和。都是显示菜单函数7 .8 .();函数是计算费用函数,是在最近一个停车位置的停车时间,在主函数已经由离开时间减去进入时间计算好,为标记位,为1,须要多支付20元的管理费用,是须要发票的标记,须要为1,则最终费用为原有费用的基础上增加$15,同时用一个浮点型的返回值返回给主函数运用,同时主函数用%.2f来限制最终只显示小数点最终两位。四.源程序*2
8、015年11月15日21:21:37本次试脸主要熟识栈和队列的存储方式,同时结合依次表和链表学问具体试脸要求见代码底部*/# O# O# O# OO车库(;到达在车库时间;汽车牌照;标记位置,在车库为1,在便道为01;1便道到达便道上的时间,以小时为单位(下同)汽车牌照1*;H;依次栈*;栈顶指针*;栈底指针);此次代码形参加实参之间是引用调用,故不须要传地址链式队列(1*;队头指针1*;队尾指针(三);计算停车费用();初始化车库的依次栈!();();();();O;();();O;O;();计费函数0;在停车场的时间;到达便道上的时间,以小时为单位(下同);离开便道世间;到达在车库时间;离
9、开车库时间;汽车牌照;是否须要发票,须要为1,不须要为0(0);1;1;,0;初始化车库90;初始化便道2;0;(2);(2,Q,2,q)(2)(P:P:1;0;(1);(10)(欢迎您到便道停车,我们将竭诚为您服务!n);(请输入到达时间:n);(请输入车牌照(阿拉伯数字);(,0);(恭喜!牌照为的车主在便道停车胜利!92 :(欢迎您到车库停车,我们将竭诚为您服务!n);(O)(车道已经停满,请选择便道停车!);(请输入到达车库时间:n);(,);(请输入车牌照(阿拉伯数字);CO);(恭喜!牌照为的车主在车库停车胜利!3 :(欢迎您更换到便道停车!n);(0)(车库里没有车,你的选择有误
10、!);0;(您的爱车到达车库时间是n);(您的爱车牌照是:n);(请榆入到达便道的时间:n);(*,);GD;(恭喜!您的车辆已经移动到便道!);(欢迎您更换到车库停车!n);()(便道上没有车,您的选择有误!);(11);(您的爱车到达便道时间是n);(您的爱车牌照是:n1);(请输入到达车库的时间:n);(1,1);(恭喜!您的车辆已经移动到车库!);(欢迎您到车库取车!n);(O)(车库里没有车,你的选择有误!);0;(牌照是:的车主您好,您的车到达车库时间是n);(D(您的车在停车场中有更换停放位置!n);(请输入您的爱车的离开时间:);=-;(请选择是否须要发票1:表示须要发票,0表
11、示不须要发票);(1)(您好,请缴费外.2f元n(,1);(请保管好您的发票!n);(感谢您运用本系统,祝您一路顺风!n);(您好,请填隽%.2f元n(,0);(感谢您运用本系统,祝您一路顺风!n);6:(欢迎您到便道取车!n);()(便道上没有车,您的选择有误!);(11);(牌照是:的车主您好,您的车到达便道时间是n1);(1D(您的车在停车场中有更换停放位置!n);(请输入您的爱车的离开时间:);=-;(请选择是否须要发票1:表示须要发票,O表示不须要发票);(1)(“您好,请缴费%.2f元n(,1)2);(请保管好您的发票!n);(感谢您运用本系统,祝您一路顺风!n);(您好,请缴费%
12、2f元n(,0)2);(感谢您运用本系统,祝您一路顺风!n);结束大括号(,n);(1,n);(下面是菜单,请接着选择或者按O退出!);0;(,1);)结束大括号;自主选择菜单结束,s:,S:(您好,已经由系统为您做出了选择!n);1 =O21;(10)(欢迎您到便道停车,我们将竭诚为您服务!n);(请输入到达时间:n);(请输入车牌照(阿拉伯数字);(,0);(恭喜!牌照为的车主在便道停车胜利!92 :(欢迎您到车库停车,我们将竭诚为您服务!n);(O)(车道已经停满,请选择便道停车!);(请输入到达车库时间:n);(,);(请输入车牌照(阿拉伯数字);CO);(恭喜!牌照为的车主在车库停车胜利!3 :(欢迎您更换到便道停车!n);(0)(车库里没有车,你的选择有误!);0;(您的爱车到达车库时间是n);(您的爱车牌照是:n);(请榆入到达便道的时间:n);(*,);GD;(恭喜!您的车辆已经移动到便道!);(欢迎您更换到车库停车!n);()(便道上没有车,您的选择有误!);(11);(您的爱车到达便道时间是n);(您的爱车牌照是:n1);(请输入到达车库的时间:n);(1,1);(恭喜!您的车辆已经移动到车库!);(