题目:停车场管理系统一、需求分析 (1) 用一个栈作为停车场,另一个栈作为让路的临时停车点,队列作为停车场满时用的便道,用 SIZE 作为停车场的位置数
(2) 用户根据系统所规定并提示的要求输入有关容,车场所能容纳的车辆数由收费人员来确定,车辆进入时,可以得到车牌号和开始时间,车辆离开时,还可以显示出停车费和停车场中剩余的车辆数,便于管理人员对停车场进行有效地管理
(3) 当停车场中的车离开时,便道上车会进入停车场,并开始计时
(4) 该程序实现的功能:a、停车时输入车辆的车牌号和停车时间,然后程序显示所停的车道号;b、车辆离开时,对该车显示出停车费和停车场中剩余的车辆数,若便道上有车,则将其进入停车场,并开始计时
二、概要设计1、设定栈的抽象数据类型定义为:ADT Stack{数据对象:D={ai|ai∈CarNode,i=1,2,……,n,n>=0}数据关系:R={|ai-1,ai∈D,i=2……,n}基本操作:InitStack( &P) 操作结果:构造一个空栈 P
Push( &P, e) 初始条件:栈 P 已经存在操作结果:在栈的栈顶插入新的栈顶元素 e
Pop( &P,Car&e)初始条件:栈 P 已经存在操作结果:删除 P 的栈顶元素,并以 e 返回其值
} ADT Stack;2、设定队列的抽象数据类型定义为:ADT Queue{数据对象:D={ai|ai∈Shortcut, i=1,2,……,n,n>=0}数据关系:R={|ai-1,ai∈D,i=2……,n}基本操作:InitQueue(&S)操作结果:构造一个空队列 SEnQueue( &S, *number,ar_time) 初始条件:队列 S 已经存在操作结果:插入元素 e 为 S 新的队尾元素DeQueue( &S, &w) 初始条件:队列 S 已经存在操作结果:删除队列的队头元素 w} ADT