欢迎来到天天文库
浏览记录
ID:49465609
大小:442.00 KB
页数:28页
时间:2020-03-01
《数据结构课程设计 停车场管理系统.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、目录1实习目的12问题描述13需求分析23.1设计思想23.2实现方法24概要设计34.1数据结构设计34.4函数及功能要求35总体设计45.1总体设计图45.2.1车辆成批入站65.2.2车站内信息显示76详细设计86.1采用结构体定义的相关数据类型86.2功能函数设计97系统测试及其结果147.1程序调试中的问题147.2结果截图167.2.1车辆成批入站167.2.2车辆出站188心得体会19参考文献21附录22停车场管理系统1实习目的通过实习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的
2、选择、设计、实现以及操作方法,为进一步的应用开发打好基础。2问题描述停车场是一条可以停放n辆车的狭窄通道,且只有一个大门汽车停放安到达时间的先后依次由北向南排列(大门在最南端,最先到达的第一辆车停在最北端)若停车场已经停满n辆车,后来的汽车在便道上等候,一旦有车开走,排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,停在他后面的车要先后退为他让路,等它开出后其他车在按照原次序开入车场,每两停在车场的车要安时间长短缴费。3需求分析3.1设计思想精选范本,供参考!此停车场管理系统是在一个狭长的通道上的,而且只有一个大门可以供车辆进出,并且要实现停车场内某辆车
3、要离开时,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些辆再依原来的次序进场的功能,就可以设计两个堆栈,其中一个堆栈用来模拟停车场,另一个堆栈用来模拟临时停车场,该临时停车场用来存放当有车辆离开时,原来停车场内为其让路的车辆。至于当停车场已满时,需要停放车辆的通道可以用一个循环队列来实现。当停车场内开走一辆车时,通道上便有一辆车进入停车场,此时只需要改变通道上车辆结点的连接方式就可以了,使通道上第一辆车进入停车场这个堆栈,并且使通道上原来的第二辆车成为通道上的第一辆车,此时只需将模拟通道的循环队列的头结点连到原来的第二辆车上就可以了。
4、这个程序的关键是车辆的进站和出站操作,以及车场和通道之间的相互关系。由于车站是一个很窄的、一边开口的车道,先进后出,类似数据结构中的栈结构,故车场用栈这种数据结构来描述。外面的狭长的通道,先进先出,故可用队列结构来描述。考虑到车场和通道在整个程序中都要用到。故把这两个变量定义成全局变量。本程序中的数据对象是汽车,可以认为车牌号是每个元素的关键项,不能重复,和现实中一样,另外加了车主姓名这一数据项,为表简洁,其他相关信息如入场时间,车的类型,收取费率等,都不再考虑,具体应用的时候可以方便地修改得到。3.2实现方法对于此停车场管理系统的实现,就是用两个堆栈来分别模
5、拟停车场以及停车场内车辆为其它车辆让路时退出停车的临时停放地点。至于通道上车辆的停放则用一个循环队列来实现,此时,通道上车辆的离开或者进入停车场只需改变此循环队列上的结点而已。4概要设计4.1数据结构设计第一个定义汽车的信息:车牌号num[10]和车主姓名name[10]:typedefstructcar{charnum[10];charname[10];}Car;第二个定义汽车场的结构,在这里我把它看成是一个栈,在这里定义栈的容量等信息:typedefstruct{精选范本,供参考!Cardata[maxsize];intn;//栈容量设定inttop;}S
6、tack;//顺序栈用来存放汽车场内的车辆信息第三个定义通道的结构,在这里我把它看成是一个循环队列,在这里定义队列胡容量等信息:typedefstruct{Cardata[maxsize];intn;//队列容量设定intnum;//当前通道上的车辆数intfront,rear;}Queue;//循环队列用来存放通道内的车辆信息4.4函数及功能要求1.intPush(Stack*S,Carx):创建入栈的操作,以实现车辆进入停车场的操作2.intPop(Stack*S,Car*px):创建出栈的操作,以实现车辆离开停车场的操作3.intInsertQueue(
7、Queue*Q,Carx):创建入队的操作,以实现进入临时停车场的操作4.intDeleteQueue(Queue*Q,Car*x):创建出队的操作,以实现离开临时停车场的操作5.voidShowCar(void):创建显示车站内信息的子程序。6.voidInitCarpark(void):创建车辆成批入站的子程序。7.voidInsertCar(void):创建单个车辆入站的子程序。8.voidExitCar(void):创建车辆出站的子程序。9.Pop(SCar,&x);:提供指定车辆出站的功能。10.voidSetCar(void):提供车站模拟系统相关
8、功能设定的功能。11.voidcarm
此文档下载收益归作者所有