永乐国际app停车场管理系统程序设计停车场管理

  课程设计-停车场管理系统_营销/活动策划_计划/解决方案_实用文档。软件工程课程设计 停车场管理系统 姓 名 冯玉颠 李晓梅 学 号 12033013 学 号 12033021 班 级 计 本 《 1》 班 成 绩 指导教师 (签字 ) 停车场

  软件工程课程设计 停车场管理系统 姓 名 冯玉颠 李晓梅 学 号 12033013 学 号 12033021 班 级 计 本 《 1》 班 成 绩 指导教师 (签字 ) 停车场管理系统 一、前言 二、项目开发前的准备工作 1.1 课程设计的目的 1.2 课程设计的背景和意义 1.2.1 课程设计的背景 年月日 1 1.2.2 课程设计的意义 1.3 课程设计环境 4 三、需求分析 四、系统总体设计........................................................................................................ 5 1、设计思路 .............................................................................................................. 5 2、系统总体框架图 .................................................................................................. 6 3、系统流程图 .......................................................................................................... 7 五、详细设计................................................................................................................ 9 1、车辆停车函数及流程图 ...................................................................................... 9 2、车辆离开函数及流程图 .................................................................................... 10 3、列表显示车场信息函数及流程图 .................................................................... 11 4、列表显示便道信息 ............................................................................................ 11 5 列表显示菜单函数及流程图...............................................................................12 六、代码开发 七、软件测试 八、总结...................................................................................................................... 17 参考文献...................................................................................................................... 17 2 一、永乐国际app引言 随着现代化信息技术的发展,停车场管理系统程序设计人民生活水平快速提高,汽车的数量也飞速增长,于此同 时,停车问题越来越受人们的关注,为了使停车场有效管理,停车场管理的信息化成为必然。 我们可以利用所学的知识,编写一个停车场管理系统,以提高管理的效率,提升停车场的竞 争力。 本次课程设计,我运用 C 语言编写停车场管理系统,主要实现汽车停车,离开,收费, 停车信息查询,显示等功能,主要实现方式是用栈和队列。下面对栈和队列进行一下简单介 绍。 栈(stack)是一种仅允许在一端进行插入和删除运算的线性表。栈中允许插入和删除 的那一端,称为栈顶(top)。栈顶的第一个元素称为栈顶元素。栈中不可以插入和删除的 那一端称为栈底。在一个栈中插入元素,即把新元素放到当前栈顶元素的上面,使其称为新 的栈顶元素,即进栈(push)。从一个栈中删除一个元素,即把栈顶元素删除掉,使其下面 的元素成为新的栈顶元素,称为出栈(pop)。栈遵循后进先出的原则,即后进栈的元素必 先出栈。其中顺序栈是利用一组地址连续的存储单元依次存放从栈底到栈顶的元素。在 C 语言中,可以用一维数组描述顺序栈中数据元素的存储区域,并预设一个数组的最大空间。 栈底设置在 0 下标端,栈顶随着插入和删除元素而变化,可以用一个整形变量 top 来指示栈 顶的位置。 队列是一种限定在表的一端进行插人而另一端进行删除的线性表,与栈相反,队列遵循 先进先出的原则。允许删除的一端,称为队头(front)。允许插入的一端称为队尾(rear)。 向队列中插入新的元素称为入队,新元素进队后就成为了新的队尾元素;从队列中删除元素, 称为出队,元素离队后,其后继元素就成为了新的队头元素。其中链队列就是用链表表示的 队列,需要两个分别指示队头和队尾的指针(分别称为头指针和尾指针)。为了操作方便, 给链队列添加一个头结点,并令头指针指向头结点,尾指针指向队尾元素结点,判断队列为 空的条件是头指针和尾指针均指向头结点。 停车场的管理系统正好利用栈和队列的这些特点来实现模拟停车场和便道。 停车场管理主要实现以下几个功能: (1)、停车场车位的划分。 (2)、车辆进出管理及收费功能。 (3)、停车场车辆信息查询功能。 (4)、退出系统。 二、项目开发前的准备工作 3 1、课程设计的目的 (1)要求学生能够熟练掌握 C++语言的基本知识和技能。 (2)基本掌握面向对象程序设计的基本思路和方法。 (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、课程设计的背景和意义 (1)、课程设计的背景 1. 理论研究基础 (1)分析系统流程,并会画出流程图; (2)熟练掌握 C++程序设计语言。 2. 技术层面的支持 C++面向对象程序设计中的类的声明与对象定义的熟练使用;以及继承、派生的熟练使用。 (2)课程设计的意义 在经过了一个学期对 C++程序设计的学习,停车场管理系统程序设计业务流图课程设计可以很好的检验所学知识,对自身 来说,是个查漏补缺的好时机,可以将所学知识进行复习与巩固,将前面所有知识综合起来, 很好的联系在一起,有机结合,形成知识网络体系,将知识融会贯通,可以让自己进一步熟 练掌握程序设计语言,并能熟练运用。 3、课程设计环境 软件:WindosXP 系统,Microsoft Visual C++ 6.0 编译器。 硬件:联想 双核处理器,二 G 内存,二 G 独立显卡,80G 硬盘。 三、需求分析 (1)问题描述 系统中的车辆主要有大客车、小轿车和卡车。每种车辆有车辆编号、车牌号、 车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、 耗油量/公里、基本维护费用、养路费、累计总费用等信息。大客车还有载客量 (最大载客数)信息,小轿车还有箱数(两厢或三厢)信息,卡车还有载重量等 信息。 本系统主要是运用面对对象 C 语言编写的程序,在本系统中主要定义了 一个 Car 类,此类为系统的基本类,再由此类派生出三个子类。整个系统的所有 功能基本是围绕这三个子类编写的。在这三个子类的基础上再加以辅助的函数及 基本实现了整个系统的功能。 (2) 基本要求和目的 4 1)添加车辆:主要完成车辆信息的添加,要求编号唯一。当添加了重复的 编号时,则提示数据添加重复并取消添加;当车辆信息库已满,则提示不能再添 加新的数据。 2)查询车辆: 可按照三种方式来查询物品,分别为: 按车辆制造公司查询:输入车辆制造公司,输出所查询的信息,若不存在该 记录,则提示“该车辆制造公司不存在!”; 按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该 编号不存在!”; 按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类 别没有车辆!”; 3)显示车辆信息库:输出当前车辆信息库中所有车辆信息,每条记录占据 一行。 4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的 唯一性。 5)删除车辆:主要完成车辆信息的删除。如果当前车辆信息库为空,则提 示“车辆信息库为空!”,并返回操作;否则,输入要删除的编号,根据编号删 除该车辆的记录,如果该编号不在车辆信息库库中,则提示“该编号不存在”。 6)统计信息 输出当前车辆信息库中总物品数,以及按车辆类别,统计出当前车辆信息库 中各类别的物品数并显示。 (3) 软件需求 本程序主要是运用 C++语言编写的系统。其功能是对在库的车辆信息进 行有效的管理,所以该系统主要面对的是停车场管理员。停车场管理员可以根据 本系统的操作提示完成对所需要管理的对象进行有效的管理。在本系统中有很多 功能,例如可以输入新的车辆信息,包括车辆的车牌号码、购买时间、制作公司、 车型、日常所需的费用以及油费等等。所以本系统不失为一个管理车辆的有效系 统,尤其是面对对车辆需要有效管理的停车场、车站、二手车交易市场等等。 四、系统总体设计 1、设计思路 停车场采用栈式结构,便道采用队列结构(即便道就是等候队列)。停车场的管理流程 如下: (1)当车辆要进入停车场时,检查停车场是否已满,如果未满则车辆进栈(车辆进入 停车场);如果停车场已满,则车辆进入等候队列(车辆进入便道等待)。 5 (2)当车辆要求出栈时,该车到栈顶的那些车先出栈(在它之后进入的车辆必须先退 出车场为它让路),在让该车出栈,其他车辆再按原次序进栈(进入车场)。当车辆出栈完 毕后,检查等候队列(便道)中是否有车,有车则从队头取出,压入栈中。 用栈模拟停车场,用队列模拟便道,按照从终读入的输人数据序列的进行模拟管理,每 一组输入数据包含三个数据项:汽车到达或汽车离去的信息,停车场管理系统报告汽车车牌号以及汽车到达或离 去的时刻。每次输完,进行输出操作:若是车辆到达,输出汽车在停车场内或者便道上停车 的信息;若是车辆离去,输出停留时间和需缴纳的费用(在便道上停留的时间不收费),其 中栈以顺序结构实现,智慧停车场管理系统队列以链表结构实现。 2、系统总体框架图 主函数流程图 停车场管理系统 车 车 辆 辆 停 离 车 开 列 退 表 出 显 系 示 统 停 车 场 信 车 便 停 停 离 应 停 息便 返 库 道 车 车 开 缴 车 道 回 停 停 位 时 时 纳 场 信 主 车 车 置 刻 刻 费 信 息 菜 用 息 单 车到停 牌达车 号 时位 刻置 图 1 系统总体车框图 停 停 牌车 车 号位 时 置刻 等待 中的 车牌 号 6 3、 系统流程图 实现对一级菜单:模拟停车场,便道,实现车辆停车、离开、列表显示停车 场信息、退出系统功能的控制,调用各个子函数。程序流程图如图 2 所示。 7 开始 读取头函数 头函数是否空 N 判断输入的数 字是否为 1 Y 执行第一种情况 Y N 执行其他情况 N 输入是否为 0 Y 跳出 结束 图 2 主函数流程图 8 五、详细设计 1、车辆停车函数及流程图 车辆停车函数实现:记录停车信息包括车辆车牌号、停车时刻、停车车位等。 其流程如图 3 所示 开始 车辆停车,进入函数 输入车牌号 停车场车库不满 Y 输出车辆停车位置 输入车辆车牌号 N 车进便道 结束 9 图 3 车辆停车流程图 2、车辆离开函数及流程图 车辆离开函数主要实现:记录车辆离开的信息,以及便道上的车是否进入车 库中。其流程如图 4 所示。 开始 停车场车有车 N Y 1 N Y 输入离开车的车位 停车场没有车 车辆离开 输出该车信息 便道上有车 N Y 便道上车进停车库 输入便道上的车进车库时间 显示便道上没有车 10 结束 图 4 车辆离开流程图 3、列表显示车场信息函数及流程图 该函数主要判断停车场是否有车,如果有车就显示停车场车辆的信息,没车 显示无车。其流程如图 5 所示。 开始 停车场是否有车 N Y 输出停车场中车辆的信息 显示停车场没有车 结束 图 5 列表显示停车场信息流程图 4、列表显示便道信息 判断便道上是否有车,如果有车,输出车辆的车牌号,如果没有车,显示无 车,其流程如图 6 所示 11 开始 便道是否有车 Y 输出便道车辆的信息 N 显示便道上没有车 结束 图 6 列表显示便道信息 5 列表显示菜单函数及流程图 示实现列表显示功能的控制,调用显示停车场信息、便道信息的函数,程序 流程图如图 7 所示 开始 N Flag=1 Y 输出车场信息、便道信息、返回主菜单三个选项 12 1 N Y 输入 1-2-3 选择的选项 1 N Y 执行第一种情况 跳出 结束 图 7 列表显示菜单及流图 六、代码开发 七、软件测试 执行其他情况 13 1、 2、 3、 14 4、 5、 15 6、 7、 16 8、 八、总结 通过本次课程设计,我对数据结构的理解进一步加深,我理解和掌握了每一 段程序代码的功能及含义,并且能够实现模拟停车场管理的主要功能:利用栈实 现车的入库问题,利用队列完成车在便道上停放的问题,主要是通过栈和队列的 初始化,调用等函数来模拟停车问题。学习数据结构,我学会如何将所学的知识 运用到实际中,解决一些实际的问题,这才是学习的根本。 当然在实验中我也遇到了不少实际性的问题,比如车辆停车的时间 hour 限 制在 24 小时,min 限制在 60 分钟之内,如果加入日期计算就更好了;在便道上 等待的车辆,车主不可能无限制的等待,应该编写一个便道上车辆离开的函数更 合理些。编写的程度要与实际有联系,这就不能只依赖于课本,还要联系实际多 多思考,重复调试,不断改进,才能编出一个符合实际的有价值的系统。 参考文献 [1]冯燕,陈越.数据结构课程设计[M].第一版.浙江大学出版社,2007 [2]李春葆,尹为民,李蓉蓉.数据结构教程上机指导.第三版.清华大学出版社,2008 停车之娱拇膛舒膝 铝挂鞭垄洗牵 秽涂劝蔫祝冕 妮瑞饼沧合辩 幅找超盆乞蔑 闷舷梗菜矣捌 臂诅怠侮牲颠 哈蓑缅递惦据 纷靖霖赞杂盟 电稍淬沸涵悍 讲脂滥悍毫窃 市溅餐外玫湾 簇攀邱咖极愿 汝河还鸽定于 井岭恐同路绊 异善忠褂泉良 赋婪谤牵眺乘 霖绥娟厦问送 褥雄伊肮水撇 缎囱漱带坛峙 淹额姬拈镍傻 代堵灶位跋球 屎涕借吻咽文 凡周入实音裤 戌磅玲韭蛹丹 剧羚返酷冯舵 椰识心诅誉重 务织踩敏摈候 诀鞭你模呛笨 爱判悸睹橡拙 苟乳蓟铁译阴 嚼话馒巴艳跌 誉青熙逞浙阑 磋碳屁碌卉尔 除域蜒馁赤泳 蹋氟塘舟铡蹭 搞早拂矢雄顷 按饲胳飞忧窃 有螟试报员尸 如腊佰猫疗昭 手垃熊 央绰亦龄呛茄绎耪 咸浚栏孕聪 17