1、 课程设计课程设计 课课 程:程: 数数 据据 结结 构构 题题 目:目: 停车场管理系统停车场管理系统 专专 业:业: 计算机科学与技术计算机科学与技术 班班 级:级: 姓姓 名:名: 2010 年年 9 月月 6 日日 数据结构课程设计数据结构课程设计 停车场管理系统停车场管理系统 一、一、 课程设计目的课程设计目的 1、 通过课程设计,加深对数据结构这一课程所学内容的进一步理解与巩固。 2、 通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合 理的模块化结构。 3、 通过课程设计,提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。 4、 通过课程设计,训练
2、C 程序调试能力,能将一个中小型各级组织系统联调通过。 5、 通过课程设计,开发一个中小型系统,掌握系统研发全过程。 6、 通话课程设计,培养分析问题、解决实际问题的能力。 二、课程设计内容二、课程设计内容 问题描述: 设有一个可以停放 n 辆汽车的狭长停车场, 它只有一个大门可以供车辆进出。 车辆按 到达停车场时间的早晚依次从停车场最里面向大门口处停放 (最先到达的第一辆车放在停 车场的最里面) 。如果停车场已放满 n 辆车,则后来的车辆只能在停车场大门外的便道上 等待,一旦停车场内有车开走,则排以便道上的第一辆车就进入停车场。停车场内如有某 辆车要开走, 在它之后进入停车场的车都必须先退出
3、停车场为它让路, 待其开出停车场后, 这些辆再依原来的次序进场。 每辆车在离开停车场时, 都应根据它在停车场内停留的时间 长短交费。如果停留在便道上的车未进停车场时,允许其离去,不收停车费,并且仍然保 持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。 基本要求: 要求程序输出每辆车到达后的停车位置(停车场或便道上) ,以及某辆车离开停车场 应交纳的费用和它在停车场内停留的时间。 实现提示: 汽车的模拟输入信息格式可以是: (到达/离去,汽车牌照号码,到达/离去的时刻) 。 例如, ( A ,1,5)表示 1 号牌照车在 5 这个时刻到达,而( D ,5,20)表示 5 号牌照 车在
4、20 这个时刻离去。整个程序可以在输入信息为( E ,0,0)时结束。本题可用栈和 第 2 页 共 20 页 队列来实现。 三、概要设计三、概要设计 1、设计思想 此停车场管理系统是在一个狭长的通道上的,而且只有一个大门可以供车辆进出, 并且要实现停车场内某辆车要离开时, 在它之后进入停车场的车都必须先退出停车场为 它让路, 待其开出停车场后, 这些辆再依原来的次序进场的功能, 就可以设计两个堆栈, 其中一个堆栈用来模拟停车场, 另一个堆栈用来模拟临时停车场, 该临时停车场用来存 放当有车辆离开时,原来停车场内为其让路的车辆。至于当停车场已满时,需要停放车 辆的通道可以用一个链队列来实现。 当停车场内开走一辆车时, 通道上便有一辆车进入 停车场, 此时只需要改变通道上车辆结点的连接方式就可以了, 使通道上第一辆车进入 停车场这个堆栈, 并且使通道上原来的第二辆车成为通道上的第一辆车, 此时只需将模 拟通道的链队列的头结点连到原来的第二辆车上就可以了。 2、实现方法 对于此停车场管理系统的实现, 就是用两个堆栈来分别模