资源描述:
《数据结构实践报告--停车场管理系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、河南财经政法大学集中实践报告院系:班级:指导老师:小组:小组成员:24目录(一)设计目的………………………………………………………3(二)问题描述………………………………………………………3(三)概要设计………………………………………………………4(四)详细设计………………………………………………………8(五)调试分析………………………………………………………9(六)测试分析………………………………………………………10(七)心得体会………………………………………………………11(八)附录(源代码)………………………………………………1224(一)设计目的1.通过课程
2、设计,了解并掌握数据结构的设计方法,具备初步的独立分析和设计能力;2.通过课程设计,初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.通过课程设计,提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.通过课程设计,训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。(二)问题描述及要求基本要求以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后
3、的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。测试数据设n=2,输入数据为:(‘A’,1,5),(‘A’,2,10),(‘D’,1,15),(‘A’,3,20),(‘A’,4,25),(‘A’245,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)。其中:‘A’表示到达(arrival);‘D’表示离去(departure);‘E’表示输出结束(end)。实现提示需另设一个栈,临时停放为给要离去的汽车
4、让路而从停车场退出来的汽车,也用顺序存储结构实现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。此外还要实现:(1)两个栈共享空间,思考应开辟数组的空间是多少?(2)汽车可有不同种类,则他们的占地面积不同,收费标准也不同,如1辆客车和1.5辆小汽车的占地面积相同,1辆十轮卡车占地面积相当于3辆小汽车的占地面积。(3)汽车可以直接从便道上开走,此时排在它前面的汽车要先开走让路,然后再依次排到队尾。(三)概要设计1、设计思想24此停车场管理系统是在一个狭长的通道上的,而且只有一个大门可以供车辆进出,并且要实现停
5、车场内某辆车要离开时,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些辆再依原来的次序进场的功能,就可以设计两个栈,其中一个栈用来模拟停车场,另一个栈用来模拟临时停车场,该临时停车场用来存放当有车辆离开时,原来停车场内为其让路的车辆。至于当停车场已满时,需要停放车辆的通道可以用一个链队列来实现。当停车场内开走一辆车时,通道上便有一辆车进入停车场,此时只需要改变通道上车辆结点的连接方式就可以了,使通道上第一辆车进入停车场这个栈,并且使通道上原来的第二辆车成为通道上的第一辆车,此时只需将模拟通道的链队列的头结点连到原来的第二辆车上就可以了。2、实现
6、方法对于此停车场管理系统的实现,就是用两个堆栈来分别模拟停车场以及停车场内车辆为其它车辆让路时退出停车的临时停放地点。至于通道上车辆的停放则用一个链队列来实现,此时,通道上车辆的离开或者进入停车场只需改变此链队列上的结点而已。对于要对停车场内的车辆根据其停放时间收取相应的停车费用,可以记录下车辆进入以及离开停车场的时间,再用时间差乘以相应的单价并且打印出最后的费用就可以实现了。3、流程图分析流程图按块来分析,共分成整体系统,汽车到达系统,汽车离去系统,汽车显示系统。如图1。(1)汽车整体系统24图1S停车场管理系统车辆到达车辆离开车辆显示AD(2)以模块为单位分析算法
7、 1、“到达”模块:到达时有两种情况,即车场是否满,未满则直接进入停车场;满时,到便道等待。如图2。图22.“离开”模块:离开时,当车库为空时,提示没有车,结束;否则车辆离开。如图3。24图33.“显示”模块:显示模块有两个显示选项,即:车场与便道。如图4。图424(四)详细设计1.此函数分为不同的函数,其中包含主函数,用此来调用其他子函数,其子函数包括车辆进车站、便道函数;车辆离开函数;车辆显示函数等。2.函数的定义:typedefstruct{intnum;/*车牌号*/intarrtime;/*到达/离开时间*/charcar;/*车的类型