第四章 算法详细设计

4.1 程序描述

使用栈和队列来模拟现实生活中的停车场管理是有缺陷的,因为现实中的停车场管理面对的车辆并不是有序的离开或者进入的,既不遵循先进后出的原则也不遵循先进先出的原则。

所以本停车场管理系统在对数据进行处理的时候并没有将数据进行出栈或者出队的处理,而是在车辆离开的时候将数据初始化,被初始化的数据空位则有下一个车辆进入时自动更新,用这样的方式实现车辆信息的联动与更新。

同时为了更加贴近实际,特别添加了便道和停车场两个相对独立的部分的自由联通,车辆可以自由的在两部分进行停靠,数据会及时更新。

4.2 功能

1.数据流程图:

2.可以把各个模块分解为输入,处理,输出三个功能模块,得到总体IPO图:

3.绘制低层主要模块的IPO图,作为程序模块结构设计的依据(图中涉及的特定名词可在3.2.1逻辑结构设计中找到):

4.3 算法

4.3.1 停车场车辆管理算法

1、停车场的车辆管理采用了栈的数据结构对车辆的信息进行处理和存储。该数据结构采用的是顺序存储,通过对栈内数据的遍历查找到相应的信息位置进行数据更新,从而达到将车辆信息修改和存储的目的,实现对停车场车辆的模拟管理。

2、对栈内数据进行遍历查找到的时候,为了确保查询的信息位置不出错,使用了自增的标记符号,在完成一个信息表单的循环之后,标志会重置。

3、由于采用的是自增的区别标志,每次数据遍历的时候可以通过标志的值的不同来区分栈内数据代表的信息含义。

4、用户通过输入车牌号,由系统判断其的有效性和重复性(车牌号无效时会自动退出,车牌号重复时系统会提示无法登记,会在将当前停车场内的车辆信息打印出来之后退出),如果车牌号不为0即为有效,如果停车场内不存在该车牌号即为不重复,这个时候系统才会将该车牌号的车辆登记,在停车场内为其分配车位,并相应的更新停车场内的车辆信息。

5、在用户输入要离开停车场的车辆的车牌号的时候,首先由系统判断停车场内是否存在该车牌号的车辆,如果存在栈内的数据不会进行出栈处理,系统会将该停车位上的车辆信息全部初始化(即:

车牌号:空

停车位:location

到达:否

到达时间:空

离开:否

离开时间:空

停车费用:0元

停车位是否为空:是)。

随后系统会询问用户是否将离开的车辆驶入便道(1代表是,0代表否),选择是系统将会把当前车辆登记进入停车场,自动分配空位,并更新停车场的车辆信息。反之,则会提示用户是否继续将停车场的车辆离开。

6、车辆在进站登记的时候,系统会自动优先分配车辆信息被全部初始化的停车空位。因为在车辆登记的时候,系统会首先判断停车场内是否存在被完全初始化

的停车位置,如果存在则将该车辆的信息更新到被初始化的停车位上,然后返回主菜单。

停车场管理系统(二)相关推荐

  1. 基于java swing停车场管理系统GUI

    Java 语言实验报告 一.功能演示: 基于Java swing+sqlserver停车场管理系统 二·实验内容: 实现停车场管理系统,应用于车辆的出.入管理. 三·功能要求: 包括车辆进出管理与系统 ...

  2. 海康威视智能机器人泊车_干货|海康威视智能停车场管理系统(含技术指导手册+施工图)...

    随着汽车消费的持续增长,城市停车设施.规划.管理等方面不够完善,导致机动车停车供需矛盾.伴随着停车难问题的日益凸显,面对停车位有限资源与无限需求之间的矛盾,物联网时代就要充分利用物联网技术的力量解决有 ...

  3. 网络虚拟化有几种实现方式_停车场管理系统的防砸车功能有几种方式?如何实现?...

    原标题:停车场管理系统的防砸车功能有几种方式?如何实现? 前言 01 01 正文 一.压力波防砸装置 也叫遇阻防砸,主要是安装遇阻返回装置,当道闸杆下落过程中接触到车辆或者行人(接触力度是可以调节的) ...

  4. 基于微信小程序的智能停车场管理系统的研究与设计

    前言 2017年一组数据显示, 我国停车位缺口率已经达到50%, 停车场的平均空置率也高达51. 3%. 区域拥堵. 乱停车.找车难. 收费难. 停车管理成本搞. 停车场管理效率底下.市政停车规划采集 ...

  5. 智慧停车服务器及存储系统设计,浅谈:停车场管理系统系统组成

    目前,国内的汽车销售量逐年增长,但城市的交通建设却难以跟得上,城市的停车场所也非常少,因此每个城市交通管理者都需要思考该如何科学.高效的管理限有停车场,这就离不开停车场管理系统,那停车场管理系统由哪些 ...

  6. c语言数据结构课程设计停车场管理系统,数据结构课程设计报告停车场管理系统...

    <数据结构课程设计报告停车场管理系统>由会员分享,可在线阅读,更多相关<数据结构课程设计报告停车场管理系统(8页珍藏版)>请在人人文库网上搜索. 1.数据结构课程设计报告系 别 ...

  7. 基于 Spring Boot 的停车场管理系统

    大家好,我是老逛! 今天推荐的开源项目是停车场管理系统,具有功能停车收费.物业管理.物联网.自助缴费等功能. 这个项目并不是简单的 Demo 而是可以部署上线的真实项目,该系统目前真实用户 40w 无 ...

  8. 【计算机毕业设计】停车场管理系统

    一.系统截图(需要演示视频可以私聊) 摘  要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势:对于停车场管理系统当然也不能排除在外,随着网络技术的不断成熟,带 ...

  9. C语言停车场管理系统

    C语言停车场管理系统 [问题描述] 某停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出.汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端最先到达的第一辆车停放在车 ...

最新文章

  1. css毛玻璃效果白边_CSS3毛玻璃效果(blur)有白边问题的解决方法
  2. layer.open嵌入地址链接
  3. OpenGL:画三角形程序详解笔记
  4. LightGBM 相关知识理解
  5. Pytorch(三) --反向传播
  6. .NET Core 3.0 新 JSON API - JsonSerializer
  7. 【系统架构理论】一篇文章精通:Spring Cloud Netflix Eureka
  8. android 环绕布局,Android自定义View实现圆形环绕效果
  9. ggplot2 | 位置调整函数
  10. php在客户端禁用cookie时让session不失效的解决方法
  11. Unity3D基础4:空物体与预制体
  12. 程序员必看—程序员如何高效提升自己?
  13. 20.合并两个有序链表
  14. bp神经网络模型的优缺点,什么是BP神经网络模型?
  15. Macbook Pro 201 装Win10 声卡_直播_个人工作室入门_1K-2k价位录音编曲声卡推荐
  16. jquery timepicker
  17. 一次在中英街不爽的购物体验
  18. 厨电智能化趋势下,究竟什么才是真正的“用户思维”?
  19. 关于苹果公证(Apple Notarizition)机制的一些总结
  20. 小酷智慧地图3D导览v1.0.84 打卡定位 地图打卡

热门文章

  1. c语言怎么读取12bit的raw,糊涂了,12bit的RAW怎么输出24bit的色彩范围
  2. 罗技 Mx Master 2s 无线鼠标 购买、使用、体验
  3. 水果店水果怎么定价,水果店定价格
  4. 华为向emui输入鸿蒙,从华为Mate40系列窥见EMUI的未来 与鸿蒙OS共筑一致用户体验...
  5. c语言和c学哪个好,c++和c语言先学哪个好 区别是什么
  6. 九大体质测试软件,著名的九大体质测试,快来测一测
  7. immersive-translate(沉浸式双语网页翻译扩展),解决谷歌翻译无法使用问题
  8. U盘数据恢复怎么做?分享4个恢复方法!
  9. Ceph文件存储-挂载文件系统
  10. 优酷html5速度慢,优酷发力Html5技术关注高品质移动体验