停车场56146.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
题目:停车场管理系统 班级:信管09-1班 姓名:单锦芳 学号:0901050304 需求分析 用一个栈作为停车场,另一个栈作为让路的临时停车点,队列作为停车场满时用的便道,用SIZE作为停车场的位置数。 用户根据系统所规定并提示的要求输入有关内容,车场所能容纳的车辆数由收费人员来确定,车辆进入时,可以得到车牌号和开始时间,车辆离开时,还可以显示出停车费和停车场中剩余的车辆数,便于管理人员对停车场进行有效地管理。 当停车场中的车离开时,便道上车会进入停车场,并开始计时。 该程序实现的功能: a、停车时输入车辆的车牌号和停车时间,然后程序显示所停的车道号; b、车辆离开时,对该车显示出停车费和停车场中剩余的车辆数,若便道上有车,则将其进入停车场,并开始计时。 二、概要设计 1、设定栈的抽象数据类型定义为: ADT Stack{ 数据对象:D={ai|ai ∈CarNode,i=1,2,……,n,n=0} 数据关系:R={ai-1,ai|ai-1,ai∈D,i=2……,n} 基本操作: InitStack( P) 操作结果:构造一个空栈P。 Push( P, e) 初始条件:栈P已经存在 操作结果:在栈的栈顶插入新的栈顶元素e。 Pop( P,Care) 初始条件:栈P已经存在 操作结果:删除P的栈顶元素,并以e返回其值。 } ADT Stack; 2、设定队列的抽象数据类型定义为: ADT Queue{ 数据对象:D={ai|ai∈Shortcut, i=1,2,……,n,n=0} 数据关系:R={ai-1,ai|ai-1,ai∈D,i=2……,n} 基本操作: InitQueue(S) 操作结果:构造一个空队列S EnQueue( S, *number,ar_time) 初始条件:队列S已经存在 操作结果:插入元素e为S新的队尾元素 DeQueue( S, w) 初始条件:队列S已经存在 操作结果:删除队列的队头元素w } ADT Queue; 3.本程序包括四个模块 1)主程序模块 Void main() { 声明定义 调用栈与队列的函数 主信息(输入初始操作信息) } 2)栈模块---实现栈抽象数据类型 3)队列模块---实现队列抽象数据类型 4)结构体模块---用于对对象及变量的管理 各模块之间的调用关系如下: 主程序模块 ↓ 结构体模块 ↓ 栈模块 ↓ 队列模块 4.设计停车管理程序的要求 按照从终端读入的输入数据进行模拟管理,每一组输入数据包括三个数据项:汽车“进站”或“出站”信息、汽车牌照号码以及进站或出站的时刻,对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内逗留的时间和应交纳的费用(在便道上停留不收费),按以顺序结构实现,队列以链表结构实现。 详细设计 结点类型及部分数据定义 a、停车场的车 typedef struct Car1 { char number[20]; //汽车车牌号 int ar_time; //汽车到达时间 }CarNode; b、停车场 typedef struct { CarNode *base; //停车场的堆栈底 CarNode *top; //停车场的堆栈顶 int stacksize; }Park; c、便道上的车 typedef struct Car2 { char number[20]; //汽车车牌号 int ar_time; //汽车到达时间 struct Car2 *next; }*CarPtr; d、便道 typedef struct { CarPtr front; //便道的队列的队头 CarPtr r

文档评论(0)

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

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

1亿VIP精品文档

相关文档