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

上传人:公**** 文档编号:511758135 上传时间:2023-07-15 格式:DOC 页数:17 大小:192.50KB
返回 下载 相关 举报
课程设计-停车场管理系统_第1页
第1页 / 共17页
课程设计-停车场管理系统_第2页
第2页 / 共17页
课程设计-停车场管理系统_第3页
第3页 / 共17页
课程设计-停车场管理系统_第4页
第4页 / 共17页
课程设计-停车场管理系统_第5页
第5页 / 共17页
点击查看更多>>
资源描述

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

1、软件工程课程设计停车场管理系统姓名冯玉颠 李晓梅学 号 12033013学 号 12033021班级计本1班成绩指导教师(签字) 年 月 日停车场管理系统一、前言二、项目开发前的准备工作11 课程设计的目的12 课程设计的背景和意义121 课程设计的背景122 课程设计的意义13 课程设计环境5三、需求分析四、系统总体设计31、设计思路32、系统总体框架图53、系统流程图5五、详细设计71、车辆停车函数及流程图72、车辆离开函数及流程图83、列表显示车场信息函数及流程图94、列表显示便道信息105列表显示菜单函数及流程图11六、代码开发七、软件测试八、总结12参考文献12一、引言随着现代化信息

2、技术的发展,人民生活水平快速提高,汽车的数量也飞速增长,于此同时,停车问题越来越受人们的关注,为了使停车场有效管理,停车场管理的信息化成为必然。我们可以利用所学的知识,编写一个停车场管理系统,以提高管理的效率,提升停车场的竞争力。本次课程设计,我运用C语言编写停车场管理系统,主要实现汽车停车,离开,收费,停车信息查询,显示等功能,主要实现方式是用栈和队列。下面对栈和队列进行一下简单介绍。栈(stack)是一种仅允许在一端进行插入和删除运算的线性表。栈中允许插入和删除的那一端,称为栈顶(top)。栈顶的第一个元素称为栈顶元素。栈中不可以插入和删除的那一端称为栈底。在一个栈中插入元素,即把新元素放

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

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

5、备工作1、课程设计的目的(1)要求学生能够熟练掌握C+语言的基本知识和技能。(2)基本掌握面向对象程序设计的基本思路和方法。(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、课程设计的背景和意义(1)、课程设计的背景1. 理论研究基础(1)分析系统流程,并会画出流程图;(2)熟练掌握C+程序设计语言。2. 技术层面的支持C+面向对象程序设计中的类的声明与对象定义的熟练使用;以及继承、派生的熟练使用。(2)课程设计的意义在经过了一个学期对C+程序设计的学习,课程设计可以很好的检验所学知识,对自身来说,是个查漏补缺的好时机,可以将所学知识进行复习与巩固,将前面所有知识综合起来

6、,很好的联系在一起,有机结合,形成知识网络体系,将知识融会贯通,可以让自己进一步熟练掌握程序设计语言,并能熟练运用。3、课程设计环境软件:WindosXP系统,Microsoft Visual C+ 6.0编译器。硬件:联想 双核处理器,二G内存,二G独立显卡,80G硬盘。 三、需求分析(1)问题描述 系统中的车辆主要有大客车、小轿车和卡车。每种车辆有车辆编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息。大客车还有载客量(最大载客数)信息,小轿车还有箱数(两厢或三厢)信息,卡车还有载重量等信息。本系统主要

7、是运用面对对象C语言编写的程序,在本系统中主要定义了一个Car类,此类为系统的基本类,再由此类派生出三个子类。整个系统的所有功能基本是围绕这三个子类编写的。在这三个子类的基础上再加以辅助的函数及基本实现了整个系统的功能。(2) 基本要求和目的1)添加车辆:主要完成车辆信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当车辆信息库已满,则提示不能再添加新的数据。2)查询车辆:可按照三种方式来查询物品,分别为:按车辆制造公司查询:输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!”;按编号查询:输入编号,输出所查询的信息,若不存在该记录,

8、则提示“该编号不存在!”;按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!”;3)显示车辆信息库:输出当前车辆信息库中所有车辆信息,每条记录占据一行。4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除车辆:主要完成车辆信息的删除。如果当前车辆信息库为空,则提示“车辆信息库为空!”,并返回操作;否则,输入要删除的编号,根据编号删除该车辆的记录,如果该编号不在车辆信息库库中,则提示“该编号不存在”。6)统计信息输出当前车辆信息库中总物品数,以及按车辆类别,统计出当前车辆信息库中各类别的物品数并显示。(3) 软件需求本程序主要是运用C+语

9、言编写的系统。其功能是对在库的车辆信息进行有效的管理,所以该系统主要面对的是停车场管理员。停车场管理员可以根据本系统的操作提示完成对所需要管理的对象进行有效的管理。在本系统中有很多功能,例如可以输入新的车辆信息,包括车辆的车牌号码、购买时间、制作公司、车型、日常所需的费用以及油费等等。所以本系统不失为一个管理车辆的有效系统,尤其是面对对车辆需要有效管理的停车场、车站、二手车交易市场等等。四、系统总体设计1、设计思路停车场采用栈式结构,便道采用队列结构(即便道就是等候队列)。停车场的管理流程如下:(1)当车辆要进入停车场时,检查停车场是否已满,如果未满则车辆进栈(车辆进入停车场);如果停车场已满

10、,则车辆进入等候队列(车辆进入便道等待)。(2)当车辆要求出栈时,该车到栈顶的那些车先出栈(在它之后进入的车辆必须先退出车场为它让路),在让该车出栈,其他车辆再按原次序进栈(进入车场)。当车辆出栈完毕后,检查等候队列(便道)中是否有车,有车则从队头取出,压入栈中。用栈模拟停车场,用队列模拟便道,按照从终读入的输人数据序列的进行模拟管理,每一组输入数据包含三个数据项:汽车到达或汽车离去的信息,汽车车牌号以及汽车到达或离去的时刻。每次输完,进行输出操作:若是车辆到达,输出汽车在停车场内或者便道上停车的信息;若是车辆离去,输出停留时间和需缴纳的费用(在便道上停留的时间不收费),其中栈以顺序结构实现,

11、队列以链表结构实现。2、系统总体框架图停车场管理系统主函数流程图列表显示停车场信息退出系统车辆停车车辆离开车库停车便道停车便道信息停车场信息返回主菜单停车位置应缴纳费用停车时刻离开时刻停车位置到达时刻车牌号等待中的车牌号停车时刻停车位置车牌号图1 系统总体框图3、系统流程图实现对一级菜单:模拟停车场,便道,实现车辆停车、离开、列表显示停车场信息、退出系统功能的控制,调用各个子函数。程序流程图如图2所示。开始读取头函数判断输入的数字是否为1执行第一种情况执行其他情况输入是否为0 跳出头函数是否空 结束YNNYYN图2主函数流程图五、详细设计1、车辆停车函数及流程图车辆停车函数实现:记录停车信息包

12、括车辆车牌号、停车时刻、停车车位等。其流程如图3所示开始车辆停车,进入函数输入车牌号N停车场车库不满Y车进便道输出车辆停车位置输入车辆车牌号 结束图3车辆停车流程图2、车辆离开函数及流程图车辆离开函数主要实现:记录车辆离开的信息,以及便道上的车是否进入车库中。其流程如图4所示。开始N停车场车有车YN1停车场没有车Y输入离开车的车位 车辆离开 输出该车信息N便道上有车Y便道上车进停车库显示便道上没有车输入便道上的车进车库时间结束图4车辆离开流程图3、列表显示车场信息函数及流程图该函数主要判断停车场是否有车,如果有车就显示停车场车辆的信息,没车显示无车。其流程如图5所示。开始N停车场是否有车Y显示

13、停车场没有车输出停车场中车辆的信息结束图5列表显示停车场信息流程图4、列表显示便道信息判断便道上是否有车,如果有车,输出车辆的车牌号,如果没有车,显示无车,其流程如图6所示开始N便道是否有车Y显示便道上没有车输出便道车辆的信息结束图6列表显示便道信息5列表显示菜单函数及流程图示实现列表显示功能的控制,调用显示停车场信息、便道信息的函数,程序流程图如图7所示开始NFlag=1Y输出车场信息、便道信息、返回主菜单三个选项N1Y输入1-2-3选择的选项N1Y执行其他情况执行第一种情况跳出结束图7列表显示菜单及流图六、代码开发七、软件测试1、2、3、4、5、6、7、8、八、总结通过本次课程设计,我对数据结构的理解进一步加深,我理解和掌握了每一段程序代码的功能及含义,并且能够实现模拟停车场管理的主要功能:利用栈实现车的入库问题,利用队列完成车在便道上停放的问题,主要是通过栈和队列的初始化,调用等函数来模拟停车问题。学习数据结构,我学会如何将所学的知识运用到实际中,解决一些实际的问题,这才是学习的根本。当然在实验中我也遇到了不少实际性的问题,比如车辆停车的时间hour限制在24小时,min限制在60分钟之内,如果加入日期计算就更好了;在便道上等待的车辆,车主不可能无限制的等待,应该编写一个便道上车辆离开的函数更合理些。编写的程度要与实际有联系,这就不能只依赖于课

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

当前位置:首页 > 幼儿/小学教育 > 小学课件

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