- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
停车场管理系统的设计
与实现
-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN
《程序设计与算法综合训练》设计报告2
学号:E姓名:汪泓章年级:大一专业:计科
项目名称:停车场管理系统的设计与实现:完成日期:2016年6月27日
一.需求分析
1.问题描述:
设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。
汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南
端,最先到达的第一辆车停放在车场的最北端)。若停车场内已经停满n辆
车,那么后来的车只能在门外的便道上等候。一旦有车开走,则排在便道上的
第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先
退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场。每
辆停放在车场的车在它离开停车场时必须按它停留的时间长短缴纳费用。试为
停车场编制按上述要求进行管理的模拟程序。
2.基本要求:
以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入数据的序列进行
模拟管理。每一组输入数据包括三个数据项:汽车的“到达”(‘A’表示)或
“离去”(‘D’表示)信息、汽车标识(牌照号)以及到达或离去的时刻。
对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停
车场内或者便道上的停车位置;若是车辆离去,则输出汽车在停车场停留的时
间和应缴纳的费用(便道上停留的时间不收费)。栈以顺序结构实现,队列以
链表结构实现。
(1).程序所能达到的基本可能:
程序以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入数据的序列
进行模拟管理。栈以顺序结构实现,队列以链表结构实现。同时另设一个栈,
临时停放为给要离去的汽车让路而从停车场退出来的汽车。输入数据按到达或
离去的时刻有序。当输入数据包括数据项为汽车的“到达”(‘A’表示)信
息,汽车标识(牌照号)以及到达时刻时,应输出汽车在停车场内或者便道上
的停车位置;当输入数据包括数据项为汽车的“离去”(‘D’表示)信息,
汽车标识(牌照号)以及离去时刻时,应输出汽车在停车场停留的时间和应缴
纳的费用(便道上停留的时间不收费);当输入数据项为(‘P’,0,0)时,
应输出停车场的车数;当输入数据项为(‘W’,0,0)时,应输出候车场车
数;当输入数据项为(‘E’,0,0),退出程序;
(2).输入输出形式及输入值范围:
程序运行后进入循环,显示提示信息:“请输入停车场最大容量n=:”,提示用
户输入停车场最大容量,输入后显示提示信息:请输入车辆信息,提示用户输
入车辆信息(“到达”或者“离开”,车牌编号,到达或者离开的时间)。若
车辆信息为“到达A”,车辆信息开始进栈(模拟停车场),当栈满,车辆会进
队列(模拟停车场旁便道),若车辆信息为“离开D”,会显示该车进入停车
场的时间以及相应的停车费用,若该车较部分车早进停车场,这部分车需先退
出停车场,暂时进入一个新栈为其让道,当待离开车离开停车场后,这部分车
会重新进入停车场,同时便道上的第一辆车进入停车场;若输入(‘P’,0,
0),会显示停车场的车数;若输入(‘W’,0,0),会显示便道上的车数;
若输入(‘E’,0,0),程序会跳出循环,同时程序结束。用户每输入一组数
据,程序就会根据相应输入给出输出。输入值第一个必须为字母,后两个为数
字,中间用逗号隔开
二.概要设计
1.所用到得数据结构及其ADT
为了实现上述功能,该程序以顺序栈模拟停车场以及临时停放为给要离去的汽
车让路而从停车场退出来的汽车的场地,以链表队列模拟车场外的便道,因此
需要栈和队列这两个抽象数据类型。
顺序栈数据类型定义
typedefstructStack
{
structNodedata[MaxSize];
inttop;
intnum;
}SqStack;
基本操作:
SqStack*Init_SeqStack()表队列数据类型定义
QNODE实现每个操作的伪码
1)主程序模块
intmain()
{
SqStack*parkstack;O!=ime;
s-top--;
s-n
文档评论(0)