- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
题目 汽车场停车管理系统程序
班级 软件技术2班
姓名 梁瑞瑞
学号 1032104220
停车场管理系统
1问题描述
设停车场是一个可停放 n 辆汽车的狭长通道,且只有一个门可供出入。汽 车在停车场内按车辆到达时间的先后顺序, 依次由北向南排列 (门在最南端, 最 先到达的第一辆车停放在车场的最北端) ,若车场内已停满 n 辆汽车,则后来的 汽车只能在门外的便道上等候, 一旦有车开走, 则排在便道上的第一辆汽车即可 开入;当停车场内某辆车要离开时, 在它之后进入的车辆必须先退出车场为它让 路,待该辆车开出大门外, 其他车辆再按原顺序进入车场, 每辆停放在车场的车 在它离开停车场时必须按它停留的时间长短交纳费用。
2 需求分析
(1)根据车辆到达停车场到车辆离开停车场时所停留的时间进行计时收 费。
(2 )当有车辆从停车场离开时,等待的车辆按顺序进入停车场停放。实现 停车场的调度功能。
(3)用顺序栈来表示停车场,链队表示停车场外的便道。
(4)显示停车场信息和便道信息。
(5)程序执行的命令为:①车辆进入停车场 辺车辆离开停车场 ③显示 停车场的信息。
(以栈S作为停车场,栈S1作为让路的临时停车点,队列Q作为车等待时用的便道。stack[Max+1]
作为车场能够容纳的车辆数, num[10] 作为车所在位置的编号,并且限定车场最多能够容纳 10 辆车 .
(2) .用户根据系统所规定并提示的要求输入有关内容,车场所能容纳的车辆数由收费人员来确定, 车辆离开时,车主还可以得到收据,便于收费的管理使用;并且系统程序所提供的一些信息可通 过特殊硬件显示出来,供车主了解信息,准确有效的停车。
(3) .程序应该能够显示当前存车信息以及等待车的信息,便于管理人员对车辆进行管理,并且能 够给等待的车提供一些信息,便于他们能够及时的停车。
(4) .程序执行的命令为:输入进站信息 ->输入出站信息 ->打印收据
(5) .改程序系简单的用于运用栈与队列基本知识的工具,不能用于现实中,特别是栈“先进后出”
的规则大大限定了该程序的推广,现实世界的车站管理系统比这个远远复杂的多 二.概要设计:
设定栈的抽象数据类型定义为:
ADT stack{
数据对象:
D={ai|ai € charset,i=1,2, ,n,n>=0}
数据关系:
R1={<ai-1,ai>|ai-1,ai € D,i=2 ……,n}
基本操作:
InitStack(&S) 操作结果:构造一个空栈 S。
Push(&S,e)
初始条件:栈 S 已经存在。
操作结果:在栈 S 的栈顶插入新的栈顶元素 e。 Pop(&S,&e)
初始条件:栈 S 已经存在。
操作结果:删除 S 的栈顶元素,并以 e 返回其值。 StackTraverse(S,visit())
初始条件:栈 S 已经存在。
操作结果:从栈底到栈顶依次对 S 中的每一个元素调用函数 visit(). }ADT stack
设定队列的抽象数据类型定义为 :
数据对象:D={aja i € Elemset,i=1,2, ,n,n>=0}
数据关系:R1={<a i-i ,a i>|a / a € D,i=2 ,n}
约定其中ai为队列头,an为队列尾.
基本操作 :
InitQueue(&Q) 操作结果 :构造一个空队列 Q.
DestroyQueue(&Q) 初始条件 :队列 Q 已存在 . 操作结果 :队列 Q 被销毁,不再存在 .
ClearQueue(&Q) 初始条件 :队列 Q 已存在 . 操作结果 :将 Q 清为空队列 .
QueueEmpty(Q) 初始条件 :队列 Q 已存在 . 操作结果 :若 Q 为空队列 ,则返回 True, 否则返回 False.
QueueLength(Q) 初始条件 :队列 Q 已经存在 . 操作结果 :返回 Q 的元素个数 ,即队列的长度 .
GetHead(Q,&e)
初始条件 :Q 为非空队列 .
操作结果 :用 e 返回 Q 的对头元素 .
EnQueue(&Q,e) 初始条件 :队列 Q 已存在 .
操作结果:插入元素e为Q新的队尾元素.
DeQueue(&Q,&e)
初始条件 :Q 为非空队列 .
操作结果:删除Q的队头元素,并用e返回其值.
QueueTraverse(Q,visit())
初始条件 :Q 已存在且非空 .
操作结果 :从队头到队尾 ,依次对 Q 的每一个数据元素调用函数 visit(). 一旦 visit() 失败,则操作失
败.
}ADT Queue
本程序包括四个模块
主程序模块
Void main()
{
声明定义
调用栈与队列的函数
主信息(输入初始操作信息)
}
栈模块--- 实现栈抽象数据类型
队列模块 --
您可能关注的文档
- 《微波技术基础》课程学习知识要点说明.docx
- 2016年度全国工商联上规模民营企业调研表.docx
- 2018.5青岛版四年级[下册]第六单元图案美—对称、平移与旋转单元教学设计说明.docx
- 2018年.7月重新整理水利水电施工8要素安全标准化资料[全套].docx
- 2018年七年级语文[上册]第一单元综合测试卷新人版.docx
- 2018年实验室安全试题(卷).docx
- 2018年新人版九年级Unit8单元精选练习题附答案.docx
- 2019最新人版六年级数学(下册)学习要点说明.docx
- andrid底部导航栏设计说明.docx
- CCC质量手册范本.docx
- 一病一品护理汇报(手工精品图文).ppt
- 国家义务教育质量监测四年级心理健康测试卷3+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷2+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷5+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷1+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷4+问卷(通用版附答案).docx
- 13(猫)第3课时 课件+公开课一等奖创新教学设计.docx
- 孙权劝学 (同步公开课一等奖创新教学设计).docx
- 第17课 要是你在野外迷了路 公开课一等奖创新教学设计.docx
- 统编版(五四制)11古诗二首 池上 公开课一等奖创新教学设计.docx
文档评论(0)