课程设计-停车场管理系统

上传人:子 文档编号:41932806 上传时间:2018-05-31 格式:DOC 页数:19 大小:293KB
返回 下载 相关 举报
课程设计-停车场管理系统_第1页
第1页 / 共19页
课程设计-停车场管理系统_第2页
第2页 / 共19页
课程设计-停车场管理系统_第3页
第3页 / 共19页
课程设计-停车场管理系统_第4页
第4页 / 共19页
课程设计-停车场管理系统_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《课程设计-停车场管理系统》由会员分享,可在线阅读,更多相关《课程设计-停车场管理系统(19页珍藏版)》请在金锄头文库上搜索。

1、1学 号 1011200142数据结构课程设计 设计说明书停车场管理系统起止日期:年月 至 年月日学生姓名班级成绩指导教师 (签字 )年年 月月 日日2停车场管理系统停车场管理系统一、引言.3二、系统总体设计.31、设计思路.32、系统总体框架图.53、系统流程图.5三、详细设计.71、车辆停车函数及流程图.72、车辆离开函数及流程图.83、列表显示车场信息函数及流程图 .94、列表显示便道信息.105 列表显示菜单函数及流程图.11四、总结.12参考文献.12五、附录.133一、引言一、引言随着现代化信息技术的发展,人民生活水平快速提高,汽车的数量也飞速增长,于此同时,停车问题越来越受人们的

2、关注,为了使停车场有效管理,停车场管理的信息化成为必然。我们可以利用所学的知识,编写一个停车场管理系统,以提高管理的效率,提升停车场的竞争力。本次课程设计,我运用 C 语言编写停车场管理系统,主要实现汽车停车,离开,收费,停车信息查询,显示等功能,主要实现方式是用栈和队列。下面对栈和队列进行一下简单介绍。栈(stack)是一种仅允许在一端进行插入和删除运算的线性表。栈中允许插入和删除的那一端,称为栈顶(top)。栈顶的第一个元素称为栈顶元素。栈中不可以插入和删除的那一端称为栈底。在一个栈中插入元素,即把新元素放到当前栈顶元素的上面,使其称为新的栈顶元素,即进栈(push)。从一个栈中删除一个元

3、素,即把栈顶元素删除掉,使其下面的元素成为新的栈顶元素,称为出栈(pop)。栈遵循后进先出的原则,即后进栈的元素必先出栈。其中顺序栈是利用一组地址连续的存储单元依次存放从栈底到栈顶的元素。在 C 语言中,可以用一维数组描述顺序栈中数据元素的存储区域,并预设一个数组的最大空间。栈底设置在 0 下标端,栈顶随着插入和删除元素而变化,可以用一个整形变量 top来指示栈顶的位置。队列是一种限定在表的一端进行插人而另一端进行删除的线性表,与栈相反,队列遵循先进先出的原则。允许删除的一端,称为队头(front)。允许插入的一端称为队尾(rear)。向队列中插入新的元素称为入队,新元素进队后就成为了新的队尾

4、元素;从队列中删除元素,称为出队,元素离队后,其后继元素就成为了新的队头元素。其中链队列就是用链表表示的队列,需要两个分别指示队头和队尾的指针(分别称为头指针和尾指针)。为了操作方便,给链队列添加一个头结点,并令头指针指向头结点,尾指针指向队尾元素结点,判断队列为空的条件是头指针和尾指针均指向头结点。停车场的管理系统正好利用栈和队列的这些特点来实现模拟停车场和便道。停车场管理主要实现以下几个功能:(1)、停车场车位的划分。(2)、车辆进出管理及收费功能。(3)、停车场车辆信息查询功能。(4)、退出系统。二、系统总体设计二、系统总体设计1、设计思路、设计思路停车场采用栈式结构,便道采用队列结构(

5、即便道就是等候队列)。停车场的管理流程如下:4(1)当车辆要进入停车场时,检查停车场是否已满,如果未满则车辆进栈(车辆进入停车场);如果停车场已满,则车辆进入等候队列(车辆进入便道等待)。(2)当车辆要求出栈时,该车到栈顶的那些车先出栈(在它之后进入的车辆必须先退出车场为它让路),在让该车出栈,其他车辆再按原次序进栈(进入车场)。当车辆出栈完毕后,检查等候队列(便道)中是否有车,有车则从队头取出,压入栈中。用栈模拟停车场,用队列模拟便道,按照从终读入的输人数据序列的进行模拟管理,每一组输入数据包含三个数据项:汽车到达或汽车离去的信息,汽车车牌号以及汽车到达或离去的时刻。每次输完,进行输出操作:

6、若是车辆到达,输出汽车在停车场内或者便道上停车的信息;若是车辆离去,输出停留时间和需缴纳的费用(在便道上停留的时间不收费),其中栈以顺序结构实现,队列以链表结构实现。52 2、系统总体框架图、系统总体框架图主函数流程图图图 1 1 系统总体框图系统总体框图3、系统流程图、系统流程图实现对一级菜单:模拟停车场,便道,实现车辆停车、离开、列表显示停 车场信息、退出系统功能的控制,调用各个子函数。程序流程图如图 2 所示。停车场管理系统停车场管理系统车车 辆辆 停停 车车车车 辆辆 离离 开开退退 出出 系系 统统列列 表表 显显 示示 停停 车车 场场 信信 息息便便 道道 停停 车车车车 库库

7、停停 车车离离 开开 时时 刻刻停停 车车 位位 置置应应 缴缴 纳纳 费费 用用停停 车车 场场 信信 息息便便 道道 信信 息息返返 回回 主主 菜菜 单单车车 牌牌 号号停停 车车 位位 置置车车 牌牌 号号到到 达达 时时 刻刻停停 车车 时时 刻刻停停 车车 时时 刻刻停停 车车 位位 置置等待等待 中的中的 车牌车牌 号号6开始开始读取头函数读取头函数判断输入的数判断输入的数 字是否为字是否为 1执行第一种情况执行第一种情况执行其他情况执行其他情况输入是否为输入是否为 4跳出跳出头函数是否空头函数是否空结束结束NYNYYN图图 2 2 主函数流程图主函数流程图7三、详细设计三、详细

8、设计1、车辆停车函数及流程图、车辆停车函数及流程图车辆停车函数实现:记录停车信息包括车辆车牌号、停车时刻、停车车位等。其流程如图 3 所示图图 3 3 车辆停车流程图车辆停车流程图N开始开始车辆停车,进入函数车辆停车,进入函数输入车牌号输入车牌号停车场车库不满停车场车库不满输入车辆车牌号输入车辆车牌号输出车辆停车位置输出车辆停车位置车进便道车进便道结束结束Y82、车辆离开函数及流程图、车辆离开函数及流程图车辆离开函数主要实现:记录车辆离开的信息,以及便道上的车是否进入 车库中。其流程如图 4 所示。图图 4 4 车辆离开流程图车辆离开流程图开始开始停车场车有车停车场车有车1输入离开车的车位输入

9、离开车的车位车辆离开车辆离开输出该车信息输出该车信息便道上有车便道上有车输入便道上的车进车库时间输入便道上的车进车库时间便道上车进停车库便道上车进停车库结束结束停车场没有车停车场没有车显示便道上没有车显示便道上没有车NNNYYY93、列表显示车场信息函数及流程图、列表显示车场信息函数及流程图该函数主要判断停车场是否有车,如果有车就显示停车场车辆的信息,没 车显示无车。其流程如图 5 所示。图图 5 5 列表显示停车场信息流程图列表显示停车场信息流程图4、列表显示便道信息、列表显示便道信息判断便道上是否有车,如果有车,输出车辆的车牌号,如果没有车,显示 无车,其流程如图 6 所示开始开始停车场是

10、否有车停车场是否有车输出停车场中车辆的信息输出停车场中车辆的信息显示停车场没有车显示停车场没有车结束结束NY10图图 6 6 列表显示便道信息列表显示便道信息5 列表显示菜单函数及流程图列表显示菜单函数及流程图示实现列表显示功能的控制,调用显示停车场信息、便道信息的函数,程 序流程图如图 7 所示开始开始便道是否有车便道是否有车输出便道车辆的信息输出便道车辆的信息显示便道上没有车显示便道上没有车结束结束NY11图图 7 7 列表显示菜单及流图列表显示菜单及流图开始开始Flag=1输出车场信息、便道信息、返回主菜单三个选输出车场信息、便道信息、返回主菜单三个选项项1执行第一种情况执行第一种情况结

11、束结束输入输入 1-2-3 选择的选项选择的选项1执行其他情况执行其他情况跳出跳出NNNYYY12四、总结四、总结通过本次课程设计,我对数据结构的理解进一步加深,我理解和掌握了每 一段程序代码的功能及含义,并且能够实现模拟停车场管理的主要功能:利用 栈实现车的入库问题,利用队列完成车在便道上停放的问题,主要是通过栈和 队列的初始化,调用等函数来模拟停车问题。学习数据结构,我学会如何将所 学的知识运用到实际中,解决一些实际的问题,这才是学习的根本。 当然在实验中我也遇到了不少实际性的问题,比如车辆停车的时间 hour 限 制在 24 小时,min 限制在 60 分钟之内,如果加入日期计算就更好了;在便道 上等待的车辆,车主不可能无限制的等待,应该编写一个便道上车辆离开的函 数更合理些。编写的程度要与实际有联系,这就不能只依赖于课本,还要联系 实际多多思考,重复调试,不断改进,才能编出一个符合实际的有价值的系统。参考文献参考文献1冯燕,陈越.数据结构课程设计M.第一版.浙江大学出版社,20072李春葆,尹为民,李蓉蓉.数据结构教程上机指导.第三版.清华大学出版社,200813五、附录五、附录#include “stdio.h“ #include “stdlib.h“ #include “string.h“ #define MAX 2 /车库容量 #define price

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号