停车场管理课程设计

停车场管理课程设计

ID:853257

大小:235.03 KB

页数:19页

时间:2017-09-20

停车场管理课程设计_第1页
停车场管理课程设计_第2页
停车场管理课程设计_第3页
停车场管理课程设计_第4页
停车场管理课程设计_第5页
资源描述:

《停车场管理课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、绪论数据结构是计算机程序设计的重要理论技术基础,也是计算机学科的核心课程,而课程设计则是考察我们学生对数据结构的熟悉程度及掌握程度。此次的课程设计是关于停车场管理系统的编程,需要考查的是对栈和队列的熟练使用,以及对基础知识的掌握。这次的课程设计主要是用栈和队列实现模拟停车场的基本原理,栈的顺序存储结构和队列的链式存储结构的定义和算法描述,同时也学会了编写停车场问题的程序。二、程序设计2.1、需求分析(1)根据车辆到达停车场到车辆离开停车场时所停留的时间进行计时收费。进入主菜单前需要输入收费标准以及停车场所能容纳的车辆数目。(2)当有车辆从停车场离开时,等

2、待的车辆按顺序进入停车场停放。实现停车场的调度功能。(3)用顺序栈来表示停车场,链队表示停车场外的便道。(4)显示停车场信息和便道信息。(5)程序执行的命令为:车辆进入停车场车辆离开停车场显示停车场的信息。2.2、概要设计抽象数据类型定义(1)栈的抽象数据类型定义ASTStack{数据对象:D={ai

3、ai∈ElemSet,i=1,2,...,n,n≥0}数据关系:R1={

4、ai-1,ai∈D,i=2,...,n}约定an端为栈顶,a1端为栈底。基本操作: InitStack(&S) 操作结果:构造一个空栈S。DestroyStack(&S

5、)初始条件:栈S已存在。操作结果:栈S被销毁。ClearStack(&S)初始条件:栈S已存在。操作结果:将栈S清为空栈。StackEmpty(S)初始条件:栈S已存在。操作结果:若栈S为空栈,则返回TRUE,否则FALSE。StackLength(s)初始条件:栈S已存在。操作结果:返回S的元素个数,既栈的长度。GetTop(S,&e)初始条件:栈S已存在且非空。操作结果:用e返回S的栈顶元素。Push(&S,e)初始条件:栈S已存在。操作结果:插入元素e为新的栈顶元素。Pop(&S,&e)初始条件:栈S已存在且非空。操作结果:删除S的栈顶元素,并用e返回

6、其值。StackTraverse(S,visit())初始条件:栈S已存在且非空。 操作结果:从栈底到栈顶依次对S的每个数据元素调用函数visit()。一旦visit()失败,则操作失效。}ADTStack(2)队列的抽象数据类型定义ADTQueue{数据对象:D={ai

7、ai∈ElemSet,i=1,2,...,n,n≥0}数据关系:R1={

8、ai-1,ai∈D,i=2,...,n}约定其中a1端为队列头,an为队列尾。基本操作:InitQueue(&Q)操作结果:构造一个空队列Q。DestroyQueue(&Q)初始条件:队列Q已存在。

9、操作结果:队列Q被销毁,不再存在。ClearQueue(&Q)初始条件:队列Q已存在。操作结果:将Q清为空队列。QueueEmpty(Q)初始条件:队列Q已存在。操作结果:若Q为空队列,则返回TRUE,否则FALSE。QueueLength(Q)初始条件:队列Q已存在。操作结果:返回Q的元素个数,即队列的长度。GetHead(Q,&e)初始条件:Q为非空队列。操作结果:用e返回的队头元素。EnQueue(&Q,e)初始条件:队列Q已存在。操作结果:插入元素e为Q的新的队尾元素。DeQueue(&Q,&e)初始条件:Q为非空队列。操作结果:删除Q的队头元素,并

10、用e返回其值。QueueTraverse(Q,visit())初始条件:Q已存在且非空。操作结果:从队头到队尾,依次对Q的每个数据元素调用函数visit()。一旦visit() 失败,则操作失败。}ADTQueue2.3、详细设计2.3.1、数据类型的定义intMAX;/*定义一个全局变量用来存储车库最大容量*/floatprice;/*定义一个全局变量用来存储每车每小时的费用*/typedefstructtime{inthour;intmin;}Time;/*时间结点*/typedefstructnode{charnum[10];Timereach;Tim

11、eleave;}Car;/*车辆信息结点*/typedefstructNODE{Car*stack[100];inttop;}SqStack;/*停车站*/typedefstructcar{Car*data;structcar*next;}QNode;typedefstructNode{QNode*head;QNode*rear;}LinkQueue;/*通道*/2.3.2、主要模块的算法描述1、功能模块说明:停车场管理系统含有三个模块,即:车辆到达、离开、主菜单显示停车场信息(1)、“到达”模块即为车辆到达:到达时有两种情况,即车场是否满,未满则直接进入停

12、车场;满时,到便道等待。如下图流程图1所示:车辆到达

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。