数据结构课程设计报告停车场管理系统
- 格式:doc
- 大小:900.50 KB
- 文档页数:30
课程设计报告
课程名称数据结构课程设计
课题名称停车场管理系统
专业信息管理与信息系统
班级 09级1班
学号 ************
姓名洪俊斌
指导教师赵锦元、李峰、罗敬
2011年 1 月 9 日
湖南工程学院
课程设计任务书
课程名称数据结构
课题停车场管理系统
专业班级信息管理0901班
学生姓名洪俊斌
学号************
指导老师赵锦元、李峰、罗敬
审批
任务书下达日期2011 年1 月 3 日任务完成日期2011 年1 月20 日
一、设计内容与设计要求
1.设计内容:
[问题描述] 设停车场只是一个可停放几辆汽车的狭长通道,且只有一个大门可供汽车进出,还有一个等停的的狭长通道。汽车在停车场内按车辆的先后顺序依次排列,若车站内已停满汽车,则后来的汽车只能在门外的通道上等停,一旦停车场内有车开走,则排在通道上的第一辆车即可进入;当停车场内某辆车要离开时,由于停车场是狭长的通道,在它之后开入的车辆必须先退出车站为它让路,待该车辆开出大门,为它让路的车辆再按原来次序进入车场。在这里假设汽车不能从便道上开走,试设计这样一个停车场模拟管理程序。
[基本功能]
(1)车辆成批入站。
当一个停车场刚开始投入运行的时候,会有很多车进来,因此,要设计一个函数来实现车辆批量进站。并要检测车辆的数目是否超过规定的最大容量,给出相关提示信息。
(2)单个车辆入站。
当系统正常投入运行后,会有零散的车辆进进出出,因此,设计一个函数实现单个车辆入站。
(3)车站内信息实时显示。
车站内信息包括两个部分:停车场内停放的车辆以及在外面通道上等停的车辆。
(4)车辆出站。
当停车场内车辆出站后,检查通道上是否有车等停,如果有,则要把排在最前面的车调入停车场内。
2.设计要求:
1).设计正确,方案合理。
2).界面友好,使用方便。
3).程序精炼,结构清晰。
4).设计报告5000字以上,含程序设计说明、系统的功能框图、流程图、源程序清单等。
5).实际操作过程中遇到的问题及解决方法:设计总结及心得体会。
6).上机演示。
二、进度安排
第 19 周星期一 8时:00分——11时:30分
星期二 8时:00分——11时:30分
星期三 14时:00分——17时:30分
星期四 14时:00分——17时:30分
星期五 8时:00分——11时:30分
第 20 周星期一 8时:00分——11时:30分
附:
课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的源代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序源代码)。
目录
1 系统需求分析 (1)
1.1设计思想 (1)
1.2实现方法 (1)
2 总体设计 (2)
2.1总体设计图 (2)
2.2模块流程图 (3)
2.2.1:车辆成批入站 (3)
2.2.2:车站内信息显示 (4)
3 详细设计 (5)
3.1 采用结构体定义的相关数据类型 (5)
3.2 功能函数设计 (6)
4 系统测试及其结果 (11)
4.1 程序调试中的问题 (11)
4.2 结果截图 (13)
4.2.1:case1:车辆成批入站 (13)
4.2.2:case3:车辆出站 (15)
5 心得体会 (16)
6 附录 (18)
6.1源程序代码 (18)
6.2 参考文献 (24)
7 评分表 (25)
1 系统需求分析
1.1设计思想
此停车场管理系统是在一个狭长的通道上的,而且只有一个大门可以供车辆进出,并且要实现停车场内某辆车要离开时,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些辆再依原来的次序进场的功能,就可以设计两个堆栈,其中一个堆栈用来模拟停车场,另一个堆栈用来模拟临时停车场,该临时停车场用来存放当有车辆离开时,原来停车场内为其让路的车辆。至于当停车场已满时,需要停放车辆的通道可以用一个循环队列来实现。当停车场内开走一辆车时,通道上便有一辆车进入停车场,此时只需要改变通道上车辆结点的连接方式就可以了,使通道上第一辆车进入停车场这个堆栈,并且使通道上原来的第二辆车成为通道上的第一辆车,此时只需将模拟通道的循环队列的头结点连到原来的第二辆车上就可以了。
这个程序的关键是车辆的进站和出站操作,以及车场和通道之间的相互关系。由于车站是一个很窄的、一边开口的车道,先进后出,类似数据结构中的栈结构,故车场用栈这种数据结构来描述。外面的狭长的通道,先进先出,故可用队列结构来描述。考虑到车场和通道在整个程序中都要用到。故把这两个变量定义成全局变量。本程序中的数据对象是汽车,可以认为车牌号是每个元素的关键项,不能重复,和现实中一样,另外加了车主姓名这一数据项,为表简洁,其他相关信息如入场时间,车的类型,收取费率等,都不再考虑,具体应用的时候可以方便地修改得到。
1.2实现方法
对于此停车场管理系统的实现,就是用两个堆栈来分别模拟停车场以及停车场内车辆为其它车辆让路时退出停车的临时停放地点。至于通道上车辆的停放则用一个循环队列来实现,此时,通道上车辆的离开或者进入停车场只需改变此循环队列上的结点而已。