- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
课程设计说明书
专业:xxxxx
课程名称:数据结构课程设计班级:xxxx
姓名:xxx学号:xxxxxx
设计题目:停车场管理系统
设计时间:2012-2-27至2012-3-9
评语:_________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
评阅成绩:____________评阅教师:____________
一、设计题目与要求
停车场管理系统
设停车场只有一个可停放几辆车的狭长通道,且只有一个大门可供汽车进
出,汽车在停车场内按车辆的先后顺序依次排列,若车站内已停满汽车,则后
来的汽车只能在门外的通道上等停,一旦停车场内有车开走,则排在同道上的
第一辆车即可进入,当停车内某辆车要离开时,由于停车场是狭长的通道,在
它之后开入的车辆必须先退出车站不能从便道上开走,试设计这样一个停车场
模拟管理程序。
二、概要设计
程序包括以下几个模块(包括其功能及程序实现思路与方法)
1、成批车辆入站时信息的记录。
该功能则是将成批车辆入站,并且记录下信息。已知车场为一个开口的狭
长通道,所以信息采用栈来记录。因为针对的是成批车辆,则在输入信息的时
候采用循环输入,以输入特殊字符为结束符号。在程序设计的时候,除了要完
成循环,还要完成特殊字符的判断及车场是否已经停满的判断。
2、单辆车辆入站时车站的记录。
单辆车辆入站的实现思路与方法与成批入站的相差无几,主要区别在于车
辆车不需要循环。
3、在车站已满的情况下,将车辆停在通道里。
车站有固定容量,当车站停满车后,车辆先放置在通道中。通道是一个两
头开口的狭长通道,而且当车站有空位时,通道中第一辆车要进入车站,则是
先进先出的原则,所以采用队列的形式记录通道内车辆的信息。
4、能显示出当前车站及通道内车辆的信息。
车站及通道内车辆的信息显示,使管理者更方便的查看车站内车辆情况。
程序设计时采用循环遍历输出,将车辆信息显示出来。
5、车辆出站的同时,通道里第一辆车能进车站。
由于车站是狭长单开口的,所以当其中一辆车要出站时,必须将其后面的
车先移出来,车出站后,再把移出来的车按先前的顺序放回去,在把通道里第
一辆车放在车站最后一个位置。由上可知,要把成批的车辆移出来再按顺序移
进去,符合先进后出的原则,设计时需要建立一个临时栈,将这些车先放入临
时栈中,待所要车出站后,再把车从临时栈里出来,进入到车场的栈中去。
6、能设置车场的容量。
根据不同实际情况,车场实际容量也不一样,所以这个函数能使程序适
用
三、算法设计
停车管理系统
车辆成批入站单辆车入站车辆出站显示车辆信息设置车场
存储结构设计:运用三个结构体,分别是车辆信息结构体,栈的结构体,
队列的结构体。因为车辆信息,栈和队列都包含了很多信息,所以用结构体绑
定。此外栈和队列的信息中还包含了车辆信息,运用结构体,可以明确的表示
出信息的出处。
1.几个小函数。
(1)InitStack(Stack*s)初始化一个Stack类型的,叫做s的栈。
(2)InitQueue(Queue*Q)初始化一个Queue类型的,叫做Q的队列。
(3)Push(Stack*s,Carx)将car类型的x中的数据放到stack类型的
栈s里。其中用if语句先判断栈是否已满。
(4)Pop(Stack*s,Car*
文档评论(0)