1、计 算 机 工 程 学 院 课程设计报告 课程名称:课程名称:数据结构课程设计 设计题目设计题目: 停车场管理系统 院院 系:系: 计算机工程学院 专专 业:业: 计算机科学与技术 目录目录 1.1.需求分析需求分析 1 1 1.11.1 课程设计的题目课程设计的题目 - 1 1.2 1.2 基本要求基本要求 - 1 1.4 1.4 课程设计的思想课程设计的思想 - 1 1.51.5 软件运行和开发工具软件运行和开发工具 - 1 2.2.概要设计概要设计 1 1 2.1 2.1 程序整体描述程序整体描述 - 1 2.2 2.2 结构描述结构描述 - 1 2.3 2.3 算法的设计思想及流程图算
2、法的设计思想及流程图 - 2 3.3.详细设计详细设计 6 6 3.1 3.1 车辆到达登记车辆到达登记 - 6 3.2 3.2 车辆离开记录车辆离开记录 - 6 3.33.3 车辆信息显示车辆信息显示 - 8 4.4.调试与操作说明调试与操作说明 . . 1010 总总 结结 1212 致致 谢谢 1212 参参 考考 文文 献献 1212 1 1.1.需求分析需求分析 1.1 课程设计的课程设计的题目题目 设计一个停车场管理系统,模拟停车场的运作。 1.2 基本要求基本要求 运用数据结构知识,要求以栈模拟停车场,以队列模拟车场外的便道,要求 栈以顺序结构实现,队列以链表实现,按照从终端读入
3、的输入数据序列进行模拟 管理。要求处理的数据元素包括三个数据项:汽车“到达”或“离去”信息、汽 车牌照号码及到达或离去的时刻; 1.3 课程设计的任务课程设计的任务 该系统主要实现以下几个功能: 1.车辆到达信息登记:包括车牌号,到达时间,在停车场停放的位置等; 2.车辆离开记录:包括离开时间,在停车场停留时间,停车费用等; 3.信息显示:显示停车场内和便到内的汽车到达时机急位置等基本信息; 1.4 课程设计的思想课程设计的思想 该程序应用栈来完成的车辆进停车场和出停车场就是一个数据进栈和出栈 的过程。如果停车场(栈)满了,就将车辆放在便道(队列)里;在车辆离开时 计算出使用费用,并将便道第一
4、辆车停到该车位置。 1.5 软件运行和开发工具软件运行和开发工具 1.Windows2000 以上操作系统 2.Visual C+6.0 开发环境 2.概要设计概要设计 2.1 程序整体描述程序整体描述 程序用了一个类,五个结构(车辆信息、时间信息、栈、链表和队列) ,两 个栈(其中一个为临时栈) ,除主函数外用了八个函数(栈和队列初始化、车辆 到达和离开登记、收费系统、车辆和便道列表、总显示列表) 。 2.2 结构描述结构描述 2.2.1 车辆信息的表示车辆信息的表示 车辆可看成是一个节点,设计成一个结构体,车辆信息包括:车牌号码,车 辆的进站时间和离开停车的时间。定义如下: struct
5、CarNode 2 char num10; / 车牌号码 Time reach; / 到站时间 Time leave; / 离开时间 ; 2.2.2 时间、栈和队列的定义时间、栈和队列的定义 时间是由小时和分钟表示的,有两部分数据,所以,设计两个变量分别存储 小时和分钟。定义如下: struct Time int hour; int min; ; 停车场内用栈表示: struct SeqStackNode CarNode *elementsn+1; / 顺序栈 int top; ; 便道上的车辆用队列表示: struct QueueNodecar CarNode *data; / 便道上的车用链表暂存 struct QueueNodecar *next; ; struct LinkQueueNode QueueNode *front; / 设置头指针、尾指针 QueueNode *r