数据结构课程设计《停车场管理系统》

数据结构课程设计《停车场管理系统》

ID:18353047

大小:670.00 KB

页数:18页

时间:2018-09-17

数据结构课程设计《停车场管理系统》_第1页
数据结构课程设计《停车场管理系统》_第2页
数据结构课程设计《停车场管理系统》_第3页
数据结构课程设计《停车场管理系统》_第4页
数据结构课程设计《停车场管理系统》_第5页
资源描述:

《数据结构课程设计《停车场管理系统》》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数据结构设计:停车场管理姓名:韦邦权专业:2013级计算机科学与技术学号:13224624班级:13052316完成日期:2013.12.19181问题描述设停车场是一个可停放n辆汽车的狭长通道,且只有一个门可供出入。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆汽车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该

2、辆车开出大门外,其他车辆再按原顺序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。2需求分析(1)根据车辆到达停车场到车辆离开停车场时所停留的时间进行计时收费。(2)当有车辆从停车场离开时,等待的车辆按顺序进入停车场停放。实现停车场的调度功能。(3)用顺序栈来表示停车场,链队表示停车场外的便道。(4)显示停车场信息和便道信息。(5)程序执行的命令为:车辆进入停车场车辆离开停车场显示停车场的信息。3概要设计3.1抽象数据类型定义(1)栈的抽象数据类型定义ASTStack{数据对

3、象:D={ai

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

5、ai-1,ai∈D,i=2,...,n}约定an端为栈顶,a1端为栈底。基本操作: InitStack(&S) 操作结果:构造一个空栈S。DestroyStack(&S)18初始条件:栈S已存在。操作结果:栈S被销毁。ClearStack(&S)初始条件:栈S已存在。操作结果:将栈S清为空栈。StackEmpty(S)初始条件:栈S已存在。操作结果:若栈S为空栈,则返回TRUE,否则FALSE。S

6、tackLength(s)初始条件:栈S已存在。操作结果:返回S的元素个数,既栈的长度。GetTop(S,&e)初始条件:栈S已存在且非空。操作结果:用e返回S的栈顶元素。Push(&S,e)初始条件:栈S已存在。操作结果:插入元素e为新的栈顶元素。Pop(&S,&e)初始条件:栈S已存在且非空。操作结果:删除S的栈顶元素,并用e返回其值。StackTraverse(S,visit())初始条件:栈S已存在且非空。 操作结果:从栈底到栈顶依次对S的每个数据元素调用函数visit()。一旦visit()失

7、败,则操作失效。}ADTStack(2)队列的抽象数据类型定义ADTQueue{数据对象:D={ai

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

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

10、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的队头元素,并用e返回其值。QueueTraverse(Q,visit

11、())初始条件:Q已存在且非空。操作结果:从队头到队尾,依次对Q的每个数据元素调用函数visit()。一旦visit() 失败,则操作失败。}ADTQueue3.2模块划分本程序包括六个模块:(1)主程序模块18voidmain(){初始化停车站;初始化让路的临时栈;初始化通道;输出主菜单:车辆到达、车辆离开与计费、查看停车场信息;}(2)入场模块intarrive(SqStack*In,LinkQueue*W){车辆进入停车场;计算停车费用}(3)出场模块voidleave(SqStack*In,Sq

12、Stack*Out,LinkQueue*W){车辆离开停车场;}(4)输出模块voidinfo(SqStackS,LinkQueueW){输出停车场信息;}(5)栈模块——实现栈的抽象数据类型(6)队列模块——实现队列的抽象数据类型184详细设计4.1数据类型的定义intMAX;/*定义一个全局变量用来存储车库最大容量*/floatprice;/*定义一个全局变量用来存储每车每小时的费用*/typedefstructtime{inthour

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

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

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