下载此文档

数据结构课程设计 停车场管理系统.doc


文档分类:办公文档 | 页数:约29页 举报非法文档有奖
1/29
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/29 下载此文档
文档列表 文档介绍
目录1实****目的 12问题描述 13需求分析 24概要设计 35总体设计 76详细设计 97系统测试及其结果 188心得体会 19参考文献 21附录 22停车场管理系统1实****目的通过实****了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。2问题描述停车场是一条可以停放n辆车的狭窄通道,且只有一个大门汽车停放安到达时间的先后依次由北向南排列(大门在最南端,最先到达的第一辆车停在最北端)若停车场已经停满n辆车,后来的汽车在便道上等候,一旦有车开走,排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,停在他后面的车要先后退为他让路,等它开出后其他车在按照原次序开入车场,每两停在车场的车要安时间长短缴费。,而且只有一个大门可以供车辆进出,并且要实现停车场内某辆车要离开时,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些辆再依原来的次序进场的功能,就可以设计两个堆栈,其中一个堆栈用来模拟停车场,另一个堆栈用来模拟临时停车场,该临时停车场用来存放当有车辆离开时,原来停车场内为其让路的车辆。至于当停车场已满时,需要停放车辆的通道可以用一个循环队列来实现。当停车场内开走一辆车时,通道上便有一辆车进入停车场,此时只需要改变通道上车辆结点的连接方式就可以了,使通道上第一辆车进入停车场这个堆栈,并且使通道上原来的第二辆车成为通道上的第一辆车,此时只需将模拟通道的循环队列的头结点连到原来的第二辆车上就可以了。这个程序的关键是车辆的进站和出站操作,以及车场和通道之间的相互关系。由于车站是一个很窄的、一边开口的车道,先进后出,类似数据结构中的栈结构,故车场用栈这种数据结构来描述。外面的狭长的通道,先进先出,故可用队列结构来描述。考虑到车场和通道在整个程序中都要用到。故把这两个变量定义成全局变量。本程序中的数据对象是汽车,可以认为车牌号是每个元素的关键项,不能重复,和现实中一样,另外加了车主姓名这一数据项,为表简洁,其他相关信息如入场时间,车的类型,收取费率等,都不再考虑,具体应用的时候可以方便地修改得到。,就是用两个堆栈来分别模拟停车场以及停车场内车辆为其它车辆让路时退出停车的临时停放地点。至于通道上车辆的停放则用一个循环队列来实现,此时,通道上车辆的离开或者进入停车场只需改变此循环队列上的结点而已。:车牌号num[10]和车主姓名name[10]:typedefstructcar{charnum[10];charname[10];}Car;第二个定义汽车场的结构,在这里我把它看成是一个栈,在这里定义栈的容量等信息:typedefstruct{Cardata[maxsize]; intn;//栈容量设定inttop;}Stack;//顺序栈用来存放汽车场内的车辆信息第三个定义通道的结构,在这里我把它看成是一个循环队列,在这里定义队列胡容量等信息:typedefstruct{Cardata[maxsize]; intn;//队列容量设定 intnum;//当前通道上的车辆数 intfront,rear;}Queue;//(Stack*S,Carx):创建入栈的操作,(Stack*S,Car*px):创建出栈的操作,(Queue*Q,Carx):创建入队的操作,(Queue*Q,Car*x):创建出队的操作,(void):创建显示车站内信息的子程序。(void):创建车辆成批入站的子程序。(void):创建单个车辆入站的子程序。(void):创建车辆出站的子程序。(SCar,&x);:提供指定车辆出站的功能。(void):提供车站模拟系统相关功能设定的功能。11

数据结构课程设计 停车场管理系统 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数29
  • 收藏数0 收藏
  • 顶次数0
  • 上传人相惜
  • 文件大小442 KB
  • 时间2020-02-17