1、数据结构课程设计报告设计设计题目 停车场管理系统 专 业 班 级 姓 名 学 号 完成日期 目 录1. 问题描述页码2. 系统设计页码3. 数据结构与算法描述页码4. 测试结果与分析页码5. 总 结页码6. 参考文献页码附录 程序源代码页码(要求:给出一级目录,宋体加粗,四号字,1.5倍行距。)课程设计题目(要求:正文部分一律用小四号字,宋体,1.5倍行距。一级标题靠左,四号加粗。二级、三级标题靠左,小四加粗。)1. 问题描述设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如
2、果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。2. 系统设计2.1 设计目标 要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。2.2 设计思
3、想此停车场管理系统是在一个狭长的通道上的,而且只有一个大门可以供车辆进出,并且要实现停车场内某辆车要离开时,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些辆再依原来的次序进场的功能,就可以设计两个堆栈,其中一个堆栈用来模拟停车场,另一个堆栈用来模拟临时停车场,该临时停车场用来存放当有车辆离开时,原来停车场内为其让路的车辆。至于当停车场已满时,需要停放车辆的通道可以用一个链队列来实现。当停车场内开走一辆车时,通道上便有一辆车进入停车场,此时只需要改变通道上车辆结点的连接方式就可以了,使通道上第一辆车进入停车场这个堆栈,并且使通道上原来的第二辆车成为通道上的第一辆车,此时
4、只需将模拟通道的链队列的头结点连到原来的第二辆车上就可以了。2.3 系统模块划分(要给出流程图)3. 数据结构与算法描述 (1) 功能模块说明:停车场管理系统含有三个模块,即:车辆到达、离开、列表显示 (2)以模块为单位分析算法 1、“到达”模块:到达时有两种情况,即车场是否满,未满则直接进入停车场;满时,到便道等待。如图2。 2.“离开”模块:离开时,当车库为空时,提示没有车,结束;否则车辆离开。如 3. “显示”模块:显示模块有两个显示选项,即:车场与便道。如图4。4. 测试结果与分析(可将测试过程抓图说明) 测试输入服务选择车牌号/车位到达/离开时间1HN00110:102 101:00
5、分析此停车管理系统基本可能实现一个小的停车场的管理,其“到达”与“离开”方法都相对比较完整,以及结算清单明了。尽管在时间先后上有出现混乱,但当其用到实际应用时,那个时间先后就可以避免了。但在输入数据时,要按照严格的格式输入,否则有可能出现死去或崩溃。若本系统能加上保存功能就更好了,因为一个系统在使用过程中总会关机等,而此系统的缺点却是没有保存功能,关闭之后就要重新建立了。会慢慢完善。5. 总 结此停车管理系统基本可能实现一个小的停车场的管理,其“到达”与“离开”方法都相对比较完整,以及结算清单明了。尽管在时间先后上有出现混乱,但当其用到实际应用时,那个时间先后就可以避免了。但在输入数据时,要按照严格的格式输入,否则有可能出现死去或崩溃。若本系统能加上保存功能就更好了,因为一个系统在使用过程中总会关机等,而此系统的缺点却是没有保存功能,关闭之后就要重新建立了。会慢慢完善。6. 参考文献 (包括书籍、论文、网络资料等) 1 刘振安等.C+程序设计课程设计.北京:机械工业出版社,2004.12. 2 武法提.基于网络的学习环境的设计. 2004.10.6(要求:小四号字,宋体,1.5倍行距。按作者、书名、地点、出版社、出版时间格式逐一列出。参考网上文章时,格式为:作者、文章名称、网址、时间。)附录 程序源代码