数据结构课程设计 停车场模拟管理系统报告(含源码)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构课程设计停车场模拟管理系统报告

(含源码)

《数据结构课程设计》报

专业:软件工程

班级: T1123-03

学号:

姓名: XXX

课设题目:停车场模拟管理系统

指导教师:马春江

成绩:

2013-07-03

目录

一、设计题目 (1)

二、设计目的 (1)

三、总体设计 (1)

(一)问题描述 (1)

(二)设计要求 (2)

(三)数据结构 (2)

四、详细设计 (2)

(一)分析与实现 (2)

(二)系统模块设计 (3)

(三)界面设计 (4)

五、设计结果与分析 (6)

六、总结(收获和不足) (6)

(一)课设的不足 (6)

(二)课设的收获 (7)

附录程序源码 (7)

参考文献: (19)

指导教师意见 (20)

一、设计题目

停车场模拟管理系统。

二、设计目的

利用所学的知识,模拟设计一个停车场管理系统。通过程序设计,了解停车场的工作情况以及是怎么实现停车的,模拟车辆的进入停车场、离开停车场的情况,和收费情况。

三、总体设计

(一)问题描述

假设停车场可以停放n辆车的狭长通道,而且只有一个入口出口,汽车进入停车场的停放按照先进先放的顺序,依次排满车道。当停车场已经停满时(已存放了n辆汽车),想进入停车场的车就只能在便道上等待,等到停车有车离开时,便道上的第一辆车进入停车场。当停车场内的某辆车要离开时,在它后面的车必须离开让出一条道路来,待车开走后,让路的车依次进入停车场,车辆离开时,按时间缴纳费用。

(二)设计要求

用栈模拟停车场,用队列模拟停车场外面的等车便道,按照终端输入数据的方式进行模拟管理。输入1,表示车辆到达;输入2,表示车辆离开;输入3,表示列表显示停车场内外情况;输入4,表示系统帮助;输入5,表示查询车辆;输入0,表示退出程序。车辆进入停车时,要输入车牌号码和到达时间;车辆离开时,要输入停车场车位号和离开时间,并显示应收费额;车辆查询时,要输入车牌号码;系统帮助,则是一些关于本系统的操作介绍。(三)数据结构

本课程设计使用的数据结构有:顺序栈和链式队列。

四、详细设计

(一)分析与实现

1、模拟停车场的车辆进出需要输入车辆的信息,比如车辆的车牌号码、到达时间、离开时间,因此,可以定义一个车辆信息结点类型和一个时间节点类型,在顺序栈和链式队列中定义结点类型为车辆信息结点类型。

2、车辆离开时,需要打印输出车辆的车位号、到达时间、离开时间以及应缴纳的费用。定义print()函数实现。

3、车辆到达时要输入车辆的信息,并以此存放在停车场内;没进入一辆车,要判断停车场(顺序栈)是否已经停满,若已满,则提示该车要在便道上等待;若未满,则进行进栈操作。

4、车辆的离开,要另外设计一个栈,当一辆汽车要离开时,在其后的车辆要给其让路,让路的汽车就暂时停放在这个栈中。车辆离开后,要判断便道上是否有车辆在等待,若有则进行入栈操作,即将车辆的信息结点进行入栈操作,这时要输入当前时间,今儿进行出队操作,表示车辆已经离开便道进入停车场。

5、系统帮助则只需设计一个函数instruct(),将要说明的东西写进去,可以直接调用。

6、车辆的查询,既可以查询停车场内的车辆,也可以查询便道上等待的车辆,查询时要输入正确的车牌号码,并显示车辆的当前情况。

(二)系统模块设计

(三)界面设计

1、主菜单界面

图 1

2、车辆到达界面

图 2

3、车辆离开界面

图 3

4、列表显示界面

图 4 列表显示菜单

图 5 停车场情况

图 6 便道等待情况5、车辆查询界面

图 7

五、设计结果与分析

测试结果已达到我预期的结果,可以模拟实现车辆的进入、离开停车场,可以大体上让人了解到停车场的工作情况。

六、总结(收获和不足)

(一)课设的不足

本次课程设计完成的系统,只能简单的模拟停车场的车辆进出、收费情况和查询功能,没有将进入停车场的车辆信息进行存盘保存。而且功能单一,有车离开时,还有可能要其他的车退出停车场让车(不够人性化);模拟的停车场只是一个狭长的通道,存放的车辆只能是一种类型的,即占地面积是一样的;按道理停车场可以存放各种类型的车,各种车的收费标准也应该不一样,这都应该是要完善的。

(二)课设的收获

历时四天,终于把数据结构课程设计做完了!

本次课设,我还是挑了比较简单的题目(停车场模拟管理系统)来做,在这个题目里,只用到了两个数据结构:顺序栈和链式队列。顺序栈模拟停车场,队列模拟便道。通过这次课设,确实对自己的水平提高了很多,至少再次熟悉了本学期所学的栈和队列的使用和应用。记得在刚开始的时候,看到课设指导书上面的题目,感觉自己什么都做不出来,所以迟迟不敢动手。当时间一天天逼近时,不能再拖了,就只能开工了。抱着试一试的心态,我参考着资料上面的指示,一步一步地做,居然做出了一个简单的系统;最后通过请教XX 同学,对系统做了些完善(虽然还不是很完善),在此对他表示感谢!

通过这次课设,我再次强烈的感受到:只要敢于尝试,很多我们自己认为做不到的事情都是可能做到的。勇于尝试,定有收获!

附录程序源码

#include

#include

#include

#include

#include

#include

#define maxnum 5

#define price 0.5

enum returninfo{ok,error};

typedef struct time//时间结构体

{

int hour;

相关文档
最新文档