停车场管理课程设计.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
绪论 数据结构是计算机程序设计的重要理论技术基础,也是计算机学科的核心课程,而课程设计则是考察我们学生对数据结构的熟悉程度及掌握程度。此次的课程设计是关于停车场管理系统的编程,需要考查的是对栈和队列的熟练使用,以及对基础知识的掌握。这次的课程设计主要是用栈和队列实现模拟停车场的基本原理,栈的顺序存储结构和队列的链式存储结构的定义和算法描述,同时也学会了编写停车场问题的程序。 二、程序设计 2.1、 需求分析 (1)根据车辆到达停车场到车辆离开停车场时所停留的时间进行计时收费。进入主菜单前需要输入收费标准以及停车场所能容纳的车辆数目。 (2)当有车辆从停车场离开时,等待的车辆按顺序进入停车场停放。实现停车场的调度功能。 (3)用顺序栈来表示停车场,链队表示停车场外的便道。 (4)显示停车场信息和便道信息。 (5)程序执行的命令为: eq \o\ac(○,1)车辆进入停车场 eq \o\ac(○,2)车辆离开停车场 eq \o\ac(○,3)显示停车场的信息。 2.2、 概要设计 抽象数据类型定义 (1)栈的抽象数据类型定义 AST Stack{ 数据对象:D={ai|ai∈ElemSet,i=1,2,...,n, n≥0} 数据关系:R1={ai-1,ai|ai-1,ai∈D,i=2,...,n} 约定an端为栈顶,a1端为栈底。 基本操作: ?InitStack(S) ?操作结果:构造一个空栈S。 DestroyStack(S) 初始条件:栈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返回其值。 StackTraverse(S,visit()) 初始条件:栈S已存在且非空。 ?操作结果:从栈底到栈顶依次对S的每个数据元素调用函数visit()。一旦visit()失败,则操作失效。 }ADT Stack (2)队列的抽象数据类型定义 ADT Queue{ 数据对象:D={ai|ai∈ElemSet,i=1,2,...,n,n≥0} 数据关系:R1={ai-1,ai|ai-1,ai∈D,i=2,...,n} 约定其中a1端为队列头,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返回的队头元素。 EnQueue(Q,e) 初始条件:队列Q已存在。 操作结果:插入元素e为Q的新的队尾元素。 DeQueue(Q,e) 初始条件:Q为非空队列。 操作结果:删除Q的队头元素,并用e返回其值。 QueueTraverse(Q,visit()) 初始条件:Q已存在且非空。 操作结果:从队头到队尾,依次对Q的每个数据元素调用函数visit()。一旦visit()?失败,则操作失败。 }ADT Queue 2.3、 详细设计 2.3.1、数据类型的定义 int MAX; /*定义一个全局变量用来存储车库最大容量*/ float price;/* 定义一个全局变量用来存储每车每小时的费用*/ typedef struct time { int hour; int min; }Time; /*时间结点*/ typedef struct node { char num[10]; Time reach; Time leave; }Car; /*车辆信息结点*/ typedef struct NODE { Car *stack[100]; int top; }SqStack; /*停车站*/ typedef struct car { C

文档评论(0)

好老师 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档