数据结构课程设计报告 题目 停车场管理系统 班级 0411005 姓名 丁磊 学号 2010211925 停车场管理系统 题目:编制一个停车场的管理程序
一. 需求分析: (1)
以栈 S作为停车场,栈 S1作为让路的临时停车点,队列 Q作为车等待时用的便道
stack[Max+1]作为车场能够容纳的车辆数,num[10]作为车所在位置的编号,并且限定车场最多能够容纳 10辆车
用户根据系统所规定并提示的要求输入有关内容,车场所能容纳的车辆数由收费人员来确定,车辆离开时,车主还可以得到收据,便于收费的管理使用;并且系统程序所提供的一些信息可通过特殊硬件显示出来,供车主了解信息,准确有效的停车
程序应该能够显示当前存车信息以及等待车的信息,便于管理人员对车辆进行管理,并且能够给等待的车提供一些信息,便于他们能够及时的停车
程序执行的命令为:输入进站信息->输入出站信息->打印收据 (5)
改程序系简单的用于运用栈与队列基本知识的工具,不能用于现实中,特别是栈“先进后出”的规则大大限定了该程序的推广,现实世界的车站管理系统比这个远远复杂的多
二.概要设计: 1
设定栈的抽象数据类型定义为: ADT stack{ 数据对象:D={ai|ai∈charset,i=1,2,„„,n,n>=0} 数据关系:R1={|ai-1,ai∈D,i=2„„,n} 基本操作: InitStack(&S) 操作结果:构造一个空栈S
Push(&S,e) 初始条件:栈S已经存在
操作结果:在栈S的栈顶插入新的栈顶元素e
Pop(&S,&e) 初始条件:栈S已经存在
操作结果:删除S的栈顶元素,并以e返回其值
StackTraverse(S,visit()) 初始条件:栈S已经存在
操作结果:从栈底到栈顶依次对S中的每一个元素调用函数visit()