停车场管理系统说明书.

合集下载

停车场管理系统使用说明书-客户版

停车场管理系统使用说明书-客户版

不停车通行停车场管理系统V4.02010年12月13日➢功能齐全➢设备先进➢界面友好➢技术领先目录一、系统描述和使用流程图 (3)二、硬件设置 (3)λ场景描述: (3)λ系统构建所需配件 (3)λ系统安装示意图 (3)三、软件介绍 (4)3.1安装界面 (4)3。

2管理软件 (4)3。

2。

1软件登录 (4)3.2.2主界面 (4)3.2。

3系统设置 (4)3.2。

4备份数据库 (5)3.2.5停车场设置 (5)3.2.6设备状态 (6)3.2.7贵宾车管理 (6)3.2.8车主管理 (6)3。

2。

9卡管理 (6)3.2.10车辆出入报表 (7)3.2.11 车辆收费报表 (8)3。

2。

12卡操作报表 (8)3。

2.13收费月报表 (8)3。

2。

14充值月报表 (8)3.2.15 开门卡开门报表 (8)3。

2。

16 图片原始记录查询 (8)3。

2.17操作员管理 (8)3.2。

18重新登录 (8)3。

2。

19帮助关于 (8)3.3岗亭软件 (8)3。

4服务程序 (9)四、注意事项 (9)4。

1卡片的安装位置 (9)4.2 当LED屏的接口为串口时,一定要用串口卡,可以有效减少串口死的问题。

(9)4.3 读卡太远对停车管理系统的影响: (10)4.4 同一个出入口设成多个通道会带来的风险和好处 (10)4。

5 杀毒软件智能检测报告有危险警告的问题 (10)附录一:不停车停车场管理系统卡分组功能说明书(车辆计数软件专用) (10)附录二、车辆计数功能说明书 (10)附录三:常见问题及解决办法 (11)1、岗亭程序常见问题及解决办法 (11)2、管理程序常见问题及解决办法 (11)一、系统描述和使用流程图不停车通行停车场管理系统V4.0使用BU900X系列远距离读卡器作为核心部件,能够远距离读取电子标签ID号,并自动判断标签权限决定是否起杆放行.简易停车场系统,无票箱,简便易用.最多可下载1万条白名单(允许出入电子标签ID号)脱机工作时可保存2万条读卡记录远距离读卡自动开闸过期用户限制出入语音提示剩余金额LED显示屏显示剩余金额信息岗亭可观看出入口视频车牌识别出入口图片对比远程操控同步卡号脱机运行其他基本信息管理功能系统使用简要流程图二、硬件设置典型应用场景及方案*以一进一出为例场景描述:单天线单通道场景描述:单独通道,车道宽度小于4米;选用BU-900S-K系统构建所需配件项目数量功能BU—900S-K2台读卡地感线圈4路车检器的传感器车辆检测器2个车辆检测,触发读卡道闸2台控制车辆进入路由器1个构建以太网计算机1台运行停车场软件系统安装示意图三、软件介绍3。

停车场管理系统(软件需求说明书)

停车场管理系统(软件需求说明书)

停车场管理系统需求规范说明书文档编号文档名称需求规范说明书撰写人审核/批准创建时间目录1引言 (4)1.1编写目的 (4)1.2背景 (4)1.3定义 (4)1.4参考资料 (4)2任务概述 (4)2.1目标 (4)2.2用户的特点 (5)3需求规定 (5)3.1对功能的规定 (5)3.1.1车辆的驶入过程 (5)3.1.2车辆的驶出过程 (6)3.1.3 车位信息管理 (7)3.2对性能的规定 (7)3.2.1精度 (7)3.2.2时间特性要求 (8)3.2.3灵活性 (8)4.数据管理能力要求 (8)5.故障处理要求 (8)6.其他专门要求 (8)7. 运行环境规定 (9)1引言《停车场管理系统--需求规范说明书》旨在详细描述系统功能需求和一些非功能需求,明确系统需求边界。

1.1编写目的停车场管理系统需求规格说明书是为了让系统的开发与需求者的需求达成一致认可,明确该系统的需求,为后续的开发工作提供依据。

通常,该需求规格说明可以作为产品设计的主要依据,并作为工程师编码时了解软件实际需求的主要参考资料。

同时,需求规格说明是产品实现后用于检验的主要考察依据,是测试人员编写测试用例时的主要参考文件。

另外,本文档还可以为其他需要了解系统需求的人员提供产品需求的详细说明。

1.2背景开发软件名称:停车场管理系统项目任务提出者:停车场管理者项目开发者:用户:停车人员、停车场管理人员1.3定义2任务概述2.1目标停车场管理系统是针对愈来愈多的车辆进行管理,是对越来越多车辆停靠提供条件。

同时能建立一个全天候自动化停车场管理系统,使停车场管理工作规范化,系统化,程序化,自动化,避免停车场管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改停车信息情况。

|2.2用户的特点本系统的最终用户有两类:1.管理员:对本系统极其了解,拥有一切对系统添加、修改、删除的权利。

2.停车人员:能够通过本系统进行停车和取车的需求。

智慧停车场管理系统使用说明书

智慧停车场管理系统使用说明书

智慧停车场管理系统使用说明书
智慧停车场管理系统使用说明书
随着城市化的加速,车辆数量不断增长,停车难成为城市交通管
理的难题。

智慧停车场管理系统为解决这一问题提供了有效解决方案,为广大车主提供更加便捷的停车服务。

本篇文章将为您详细介绍智慧
停车场管理系统的使用说明,希望对您有所帮助。

一、首次使用操作步骤
1. 打开智慧停车场管理系统软件,输入账号密码登录系统;
2. 扫描停车场入口处二维码,系统会自动识别二维码信息;
3. 等待系统提示,进入停车场并找到空闲车位;
4. 将车辆停放在指定车位,按下“确认停车”按钮。

二、离场操作步骤
1. 准备离开停车场,出口处扫描二维码或插入停车卡;
2. 系统自动计算应缴纳的停车费用;
3. 缴纳费用后按下“确认离场”按钮即可离开停车场。

三、其他功能介绍
1. 车位预订功能:支持提前预订车位,避免到达停车场后没有
空余车位的情况;
2. 车位导航功能:停车场内设有导航系统,自动指引驾驶员找到自己
的车位;
3. 停车费用计算功能:系统自动计算停车费用,提供多种支付方式。

总结:智慧停车场管理系统在解决城市停车难问题上,发挥了很
大的作用。

使用起来十分简单,同时还提供了多项贴心功能,为广大
车主提供更加便捷的停车服务。

希望本文章能为使用本系统的车主提
供一定的帮助。

停车场管理系统操作说明

停车场管理系统操作说明
打印功能
用户可将生成的报表直接打印出来,用于纸质存档或 会议讨论。
06
系统维护与故障排查
硬件设备维护保养计划
定期检查
对停车场管理系统的硬件设备进行定期巡检,包括读卡器 、控制器、车辆检测器等,确保其正常运行。
清洁保养
定期清洁硬件设备,避免灰尘、污垢对设备性能造成影响 。
更换易损件
根据设备使用情况,及时更换易损件,如电池、感应器等 ,确保设备稳定运行。
右键菜单
在主工作区或特定控件上右键点击, 可弹出右键菜单,显示当前位置可用 的操作选项。
拖拽操作
支持对界面元素进行拖拽操作,如拖 拽车辆图标到指定停车位等。
批量处理
对于大量数据的处理,系统提供批量 操作功能,如批量导入车辆信息、批 量修改收费标准等。
04
车辆进出管理流程
车辆入场登记流程
系统查询数据库,验证车辆 是否有预约或黑名单记录。
当车牌识别系统无法识别车牌时,车 主可通过自助终端输入车牌号码进行 人工登记。
若车主对停车费用有异议,可在自助 终端或手机APP上查看停车记录和费 用明细,并进行申诉。
若车辆在停车场内发生故障无法驶离 ,车主可通过自助终端或手机APP申 请拖车服务。
若遇到系统故障或其他紧急情况,停 车场管理方将启动应急预案,确保车 辆安全有序进出。
设备安装与配置
设备清单及参数设置
设备清单
包括停车场入口设备、出口设备、管理中心设备等,确保设 备齐全且符合规格要求。
参数设置
根据停车场实际情况,设置设备参数,如车辆识别参数、道 闸开关时间、计费规则等。
安装步骤与注意事项
安装步骤
按照设备安装图纸和说明书进行安装 ,确保设备安装位置准确、固定牢固 。

停车场管理系统操作说明书

停车场管理系统操作说明书

停车场管理系统操作说明书停车场管理系统操作说明书版本:正式版V1.00目录一.停车场设备图解说明....................................................................................................................... .......... - 3 -二、操作人员工作内容与流程....................................................................................................................... .. - 7 -1、中心管理人员在管理中心(7)2、中心管理人员在出入口(8)3、出入口值班人员(9)三、停车场管理软件.................................................................................................................... .................... - 9 -1、登入系统(9)2、收费操作说明(11)3、当班信息操作说明(12)4、事件处理(13)5、收费记录查看(14)6、进出记录查看(15)7、场内记录查看(16)8、入场补登记(17)9、强行起杆(18)10、人工收费(18)四、收费员注意事项.................................................................................................................... .................. - 19 -五、停车场系统常见故障及排除................................................................................................................... - 19 -故障现象1:不能打开软件,打开时弹出数据库连接设置(19) 故障现象2:出卡机不能出卡(同一辆车只能取一张卡)。

停车场管理系统操作规程范文

停车场管理系统操作规程范文

停车场管理系统操作规程范文一、系统登陆与退出1. 用户需先输入正确的用户名和密码,点击登陆按钮进入系统。

2. 系统验证用户身份后,进入系统主界面,用户可以进行相关操作。

3. 用户在使用完毕系统后,点击退出按钮,系统将退出当前用户并返回登录界面。

二、车辆进入登记1. 车辆进入停车场后,用户点击系统主界面的“车辆进入登记”按钮。

2. 用户需要依次输入车牌号、车辆类型、进入时间等相关信息。

3. 系统会自动为该车辆分配一个可用的停车位,用户无需手动指定。

4. 用户点击确认按钮后,系统将保存车辆信息,更新停车位状态。

三、车辆出场结算1. 车辆准备离开停车场前,用户点击系统主界面的“车辆出场结算”按钮。

2. 用户需要输入车牌号和出场时间进行结算。

3. 系统会根据进入时间和出场时间计算停车时长,并自动获得停车费用。

4. 用户需确认费用无误后,选择支付方式完成结算。

四、停车位管理1. 用户点击系统主界面的“停车位管理”按钮进入停车位管理界面。

2. 用户可以查看停车位列表,了解每个停车位的状态:空闲、占用、维修等。

3. 用户可以手动调整停车位的状态,但需谨慎操作以免造成混乱。

4. 如有停车位需要维修或更换,用户需向管理员提出申请,并提供相应原因及建议。

五、数据统计与报表1. 用户点击系统主界面的“数据统计与报表”按钮进入相关功能界面。

2. 用户可查看停车场当前的车流量、收入情况等综合统计数据。

3. 用户可生成相应的报表,包括日报表、月报表、年报表等,用于管理决策参考。

4. 用户需注意保护数据安全,不得将数据泄漏或用于其他非法用途。

六、系统维护与升级1. 用户点击系统主界面的“系统维护与升级”按钮进入相关功能界面。

2. 用户可查看系统的运行状态和版本信息,并了解相关维护和升级计划。

3. 用户可提交系统使用中遇到的问题或提出改进建议,管理员可能会进行相应的优化和修复。

4. 用户需保持系统的稳定运行,不得进行非授权的系统修改或破坏。

停车场管理系统需求分析说明书

停车场管理系统需求分析说明书

停车场管理系统需求分析说明书停车场管理系统需求分析说明书1、引言1.1、编写目的本文档旨在详细描述停车场管理系统的需求,为开发团队提供指导,以满足用户对于停车场管理的各项需求。

1.2、项目背景随着城市交通流量的不断增加,停车成为了一个大问题。

在现有的停车场管理方式中,存在诸多不便和痛点。

为了提高停车场的管理效率和用户体验,开发一个停车场管理系统是必要的。

2、项目范围2.1、功能需求2.1.1、车辆管理- 车辆入场登记- 车辆出场管理- 停车费用计算- 车辆信息查询和修改- 停车位管理- 车辆统计报表2.1.2、用户管理- 用户注册和登录- 用户权限管理- 用户账号管理- 用户信息修改2.1.3、车位预定- 车位预定功能- 预定管理2.1.4、支付管理- 支持多种支付方式- 支付记录查询2.1.5、系统管理- 日志管理- 数据备份与恢复- 系统设置2.2、非功能需求2.2.1、可靠性要求- 系统应具有高可用性,确保系统24小时正常运行。

- 系统应具有数据备份和灾备功能。

2.2.2、性能要求- 系统应能够支持大量用户同时访问,保证并发性能。

- 系统应具有快速响应的能力,保证用户体验。

2.2.3、安全要求- 系统应使用安全加密技术,保护用户数据不被泄露或篡改。

- 系统应具备防止恶意攻击和非法入侵的能力。

3、功能详细描述3.1、车辆管理3.1.1、车辆入场登记在车辆入场时,系统应记录车辆的相关信息,包括车牌号、入场时间等,并为车辆分配一个唯一的入场ID。

3.1.2、车辆出场管理在车辆出场时,系统应根据车辆的入场ID,进行车辆出场管理,并计算停车费用。

车辆出场后,系统应更新车位信息。

3.1.3、停车费用计算系统应根据车辆的停车时长和计费规则,计算车辆的停车费用,并提供给用户。

3.1.4、车辆信息查询和修改用户可以通过系统查询车辆的相关信息,包括入场时间、出场时间、停车费用等,并可以进行车辆信息的修改。

3.1.5、停车位管理系统应记录停车场的停车位信息,包括停车位编号、停车位状态等,并及时更新停车位的状态。

智能停车收费管理系统使用说明书

智能停车收费管理系统使用说明书

智能停车场管理系统使用说明书停车场管理系统V4.1使用说明书目录一、简介-----------------------------------------------------------2二、系统结构-------------------------------------------------------3三、系统安装-------------------------------------------------------43.1、设备安装位置管线图-----------------------------------------43.2、道闸安装规范-----------------------------------------------53.3、读卡机安装规范---------------------------------------------53.4、地感线圈施工规范-------------------------------------------5四、系统功能简介---------------------------------------------------8五、系统接线图----------------------------------------------------10六、控板功能设置说明----------------------------------------------13七、软件使用说明--------------------------------------------------141、系统配置要求------------------------------------------------142、安装步骤:--------------------------------------------------143、管理软件的配置:--------------------------------------------234、软件的启动与登陆:------------------------------------------245、系统功能/模块-----------------------------------------------256、使用前的操作说明--------------------------------------------267、软件功能说明:----------------------------------------------30八、系统调试------------------------------------------------------57九、故障处理与分析------------------------------------------------61十、保养与维护----------------------------------------------------641、硬件维护常识------------------------------------------------642、软件维护常识------------------------------------------------64一、简介智能停车场系统V4.1是一个以非接触式智能IC/ID卡为车辆出入停车场凭证、以车辆图像对比、证件抓拍管理为核心的多媒体综合车辆收费管理系统,用以对停车场车道入口及出口管理设备实行自动控制、对场内停车按照预先设定的收费标准实行自动收费,同时系统将IC/ID卡识别技术和高速的视频图像存储对比技术相结合,通过计算机的图像处理和自动识别,对车辆进出停车场的收费、安保等进行全面而系统的管理。

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

中北大学课程设计说明书学院、系:软件学院专业:软件工程班级:学生姓名:学号:设计题目:停车场管理系统起迄日期: 2016年12月16日~2016年12月29日指导教师:日期: 2016年12月29日一设计目的《数据结构》课程主要介绍最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。

进行数据结构课程设计要达到以下目的:了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;1. 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;2. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;3. 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。

二任务概述2.1、问题描述设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。

车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。

如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。

停车场内如有某辆车要开走,在他之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆在依原来的次序进场。

每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。

如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。

编制一程序模拟该停车场的管理。

2.2、目的具有操作简单、使用方便、功能先进等特点,停车场使用者可以在最短的时间进入或离开停车场,从而提高停车场的管理水平,取得更高的经济效益和良好的社会效益。

位于停车通道处等候车位的用户能快速找到车位。

用户取车离开时能安全有序的离开。

同时辅以智能化设备和完善的管理软件来简化人的劳动,实现停车场车辆进入、场内监控以及计费收费等全过程的完全无人化管理;另一方面通过网络化管理实现能够在一个相对广阔的地域内(例如一个城市)了解多个停车场情况,提前了解停车情况,最终实现“随意”停车。

2.3、系统(或用户)特点停车场管理系统利用现代科技技术管理车辆,提高了车辆管理的高效性、实用性、安全性、可靠性和车辆自动化管理的能力。

有效的减少了人工的参与,从而最大限度的减少了人员费用以及由人员失误或人员舞弊造成的损失,大大提高整个停车场的经济性、安全性与使用效率。

2.4、基本要求以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。

每一组输入数据包括三个数据列:汽车“到达”或“离去”信息,汽车牌照号码以及到达或离去的时刻。

对每一组输入数据进行操作后的输出信息为:在停车场内停留的时间和应缴纳的费用(在便道上停留的时间不收费)。

栈以顺序结构实现,队列以链表结构实现。

3 模块划分图3.1 停车场管理系统主菜单图3.2 车辆到达停车场退出管理系统停车场管理系统到达停车场停车场存放情况离开停车场车辆到达停车场录入车辆信息打印车辆信息停车场已满,车辆停入便道车辆正常驶入停车场图3.3 车辆离开停车场图3.4 停车场车辆存放情况4 主要函数说明及其N-S 图Ⅰ.主函数(1) 主函数的主要流程。

1) 初始化栈和队列,定义变量和指针。

2) 根据用户的输入,调用相关的处理函数。

(2) 函数说明。

1) 函数原型:int main(); 2) 功能:主函数。

3) 返回值:有。

(3) 主函数N-S 图。

车辆离开停车场输入离开车辆信息计算费用并提示车辆取出未在停车场内,车辆驶出便道车辆正常驶出停车场图4.1 主函数N-S图Ⅱ.主菜单模块(1)主要流程1)输入3个菜单项(退出、车辆到达、车辆离开)。

2)循环等待用户输入菜单项。

3)如果用户输入在0~2之间,返回菜单号。

(2)功能:显示主菜单Ⅲ. 车辆到达模块主要流程。

1) 输入2个停放车辆的信息(车牌号、车辆到达时间)。

2) 判断停车场是否已满。

3) 如果停车场未满,打印车辆的车牌号、存车时间、停车位置。

4) 如果停车场已满,车辆停放于便道,打印车辆的车牌号、存车时间、停车位置。

Ⅳ. 车辆离开模块主要流程。

1) 输入2个驶离车辆的信息(车牌号、车辆驶离时间)。

2) 判断停车场是否为空。

3) 如果停车场为空,提示用户停车场未停放车辆。

4) 如果停车场不为空,且不为满,根据车牌号查找车辆,如果存在,计算停车所用费用,打印车辆信息,该车辆驶离停车场,让便道上的第一辆车辆驶入停车场;如果不存在,提示用户车辆未在停车场停放。

5)如果停车场已满,根据车牌号查找车辆,如果停车场内部不存在,继续在便道查询,如果存在于便道上,直接驶离便道即可;如果存在于停车场内,计算停车所用费用,打印车辆信息,该车辆驶离停车场,让便道上的第一辆车辆驶入停车场。

Ⅴ. 停车场车辆停放情况主要流程。

1) 输入该命令所对应的选择(3)。

2) 打印停车场的车位的停放情况。

Ⅵ.设计中用到的一些函数定义(栈、队列的定义)。

①设定链式栈的抽象数据类型为:InitStack(&S)操作结果:构造一个空栈S。

DestroyStack(&S)初始条件:栈S已经存在。

操作结果:销毁栈S。

ClearStack(&S)初始条件:栈S已经存在。

操作结果:将S清空为空栈。

StackLength(&S)初始条件:栈S已经存在。

操作结果:返回栈S的长度。

StackEmpty(&S)初始条件:栈S已经存在。

操作结果:若S为空栈,则返回TURE,否则返回FALSE。

GetTop(S,&e)初始条件:栈S已经存在。

操作结果:若栈S不空,则以e返回栈顶元素。

Push(&S,e)初始条件:栈S已经存在。

操作结果:在栈S的栈顶插入新的栈顶元素e。

Pop(&S,&e)初始条件:栈S已经存在。

操作结果:删除S的栈顶元素,并以e返回其值。

StackTraverse(S,visit())初始条件:栈S已经存在。

操作结果:从栈底到栈顶一次对S中的每个元素调用函数visit()。

}ADT stack②设定链式队列的抽象数据类型为:typedef struct Qnode{QelemType data;Struct Qnode *next;}Qnode,*QueuePtr;typedef struct{QueuePtr front;QueuePtr teat;}ADT Queue{数据对象:D={a i|a i∈ElemSet,i=1,2,…,n,n>=0}数据关系:R1={<a i-1,a i>/a i-1,a i∈D,i=2,…,n}约定其中一端为队列头,一端为队列尾。

基本操作InitQueue(&Q)操作结果:构造一个空队列Q。

DestroyQueue(&Q)初始条件:队列Q已经存在。

操作结果:队列Q被销毁,不再存在。

ClearQueue(&Q)初始条件:队列Q已经存在。

操作结果:将Q清空为空队列。

QueueLength(Q)初始条件:队列Q已经存在。

操作结果:返回Q的元素个数,即队列的长度。

QueueEmpty(Q)初始条件:队列Q已经存在。

操作结果:若Q为空队列,则返回TURE,否则返回FALSE。

GetHead(Q,&e)初始条件:Q为非空队列。

操作结果:用e返回Q队列头元素。

EnQueue(&Q,e)初始条件:队列Q已经存在。

操作结果:插入元素e为Q的新队尾元素。

DeQueue(&Q,&e)初始条件:Q为非空队列。

操作结果:删除Q的队头元素,并以e返回其值。

QueueTraverse(Q,visit())初始条件:队列Q已经存在。

操作结果:从队头到队尾,依次对Q的每一个数据元素调用函数visit()。

一旦visit()失败,则操作失败。

}ADT QueueⅦ. 总的程序设计流程图图4.1 停车场管理系统流程图5 程序运行数据及其结果1.主界面:四个选项(到达、离开、显示停车场信息和退出程序)2.选择数字1后,点击回车,界面会提示请输入车牌号和车辆进站时间。

然后点击回车,显示车辆停放信息,并再次显示主界面,然用户输入要选择的数字。

3.输入多辆车辆的信息,然后通过主界面的第1个选项,如果车辆信息多于停车场的车辆位置,便提示停车场已满,可以把车辆免费停放到便道上。

4.在主界面上输入3,然后显示停车场里面停放的所有车辆信息,如果因车辆过多而停放于便道的车辆,则不会显示。

5.在主界面选择数字2后,界面会提示用户输入车辆的车牌号和车辆离开时间,如果车辆在停车场内,系统会自动提示出车辆的信息,并计算出车辆应该缴纳的费用,并提示让便道上停放的第一辆车进入停车场。

如果起初就停放于便道上,则输入车辆的车牌号和车辆的离开时间后,界面会提示您的车辆停放于便道上,本次停车免费。

6 课程设计心得通过本次课程设计,发现了许多原来自己并不知道的问题,巩固了许多以前学过的知识以及新学了许多技能,总之,这次课程设计收获颇丰。

在本次课程设计刚刚开始时,由于设计的是一个综合性比较强的程序,所以显得有点不知所措,但在查找了部分资料和询问了周围的老师同学后,渐渐的对这个题目有了些许眉目,最终将题目分解成了一个个小模块,再通过这几周的努力,终于做出了这个不是特别完善的程序。

在这次课程设计中,遇到了很多问题,也犯了很多错误,尤其是在文件这方面,自己掌握的还是很不熟练,走了很多弯路。

所以今后应该加强这方面的练习,争取能够熟练的运用这方面知识,不过再最后做出这个程序时,还是很有成就感的,相信自己以后肯定会对C语言更加感兴趣,会更努力的去学习!附录://停车场管理系统#include<stdio.h>#include<stdlib.h>#define OVERFLOW 0#define ERROR 0#define OK 1#define STACKSIZE 2 //车库容量//时间节点typedef struct time{int hour;int min;}Time;//车辆信息typedef struct{char CarNum;float time;int pos_a; //车在停车场中的位置int pos_b; //车在便道上的位置int flag;}Car,Car2;//车库信息(顺序栈)typedef struct{Car *top;Car *base;int stacksize;}SqStack;//初始化int InitStack(SqStack &S){S.base=new Car[STACKSIZE];if(!S.base) exit(OVERFLOW);S.top=S.base;S.stacksize=STACKSIZE;return OK;}//判空int StackEmpty(SqStack S){if(S.top==S.base) return OK;else r eturn ERROR;}//判满int StackFull(SqStack S){if(S.top-S.base>=S.stacksize) return OK;else r eturn ERROR;}//入栈int Push(SqStack &S,Car e){if(S.top-S.base==S.stacksize) return ERROR;*S.top++=e;return OK;}//出栈int Pop(SqStack &S,Car &e){if(S.top==S.base) return ERROR;e=*--S.top;return OK;}//遍历栈int StackTraverse(SqStack S) {Car *p=S.top;Car *q=S.base;int l=1;if(StackEmpty(S)){f or(int j=1;j<=STACKSIZE;j++){printf("\t车牌: ");printf("\t\t到达时间: ");printf("\t位置%d:空空",j);printf("\n");}r eturn OK;}while(p!=q){C ar car=*(q);p rintf("\t车牌: %d",car.CarNum);p rintf("\t\t到达时间:%5.2f",car.time);p rintf("\t\t位置:%d",l++);p rintf("\n");q++;}r eturn OK;}//备用车道(顺序栈)typedef struct {Car2 *top2;Car2 *base2; // int stacksize2;}SqStack2;//初始化int InitStack2(SqStack2 &S2){S2.base2=new Car2[STACKSIZE];if(!S2.top2) exit(OVERFLOW); //S2.top2=S2.base2;S2.stacksize2=STACKSIZE;return OK;}//判空int StackEmpty2(SqStack2 S2){if(S2.top2==S2.base2) return OK;else return ERROR;}//进栈int Push2(SqStack2 &S2,Car2 e2){if(S2.top2-S2.base2==STACKSIZE) return ERROR;*S2.top2++=e2;return OK;}//出栈int Pop2(SqStack2 &S2,Car2 &e2){if(S2.top2==S2.base2) return ERROR;e2=*--S2.top2;return OK;}//车道信息(链队)typedef struct QNode{Car data;struct QNode *next;}QNode,*QueuePtr;typedef struct{QueuePtr front;QueuePtr rear;}LinkQueue;//初始化int InitQueue(LinkQueue &Q){Q.front=Q.rear=new QNode;Q.front->next=NULL;return OK;}//进队int EnQueue(LinkQueue &Q,Car e){ QueuePtr p;p=new QNode;p->data=e;p->next=NULL;Q.rear->next=p;Q.rear=p;return OK;}//判空int QueueEmpty(LinkQueue Q){if(Q.front==Q.rear) return OK;else return ERROR;}//出队int DeQueue(LinkQueue &Q,Car &e){QueuePtr p;if(Q.front==Q.rear) return ERROR;p=Q.front->next;e=p->data;Q.front->next=p->next;delete p;return OK;}//主函数int main(){int i=1;int j=1;int status;float time,money;LinkQueue Q;Car car_I,car_D,car_M;SqStack S;SqStack2 S2;InitStack(S);InitStack2(S2);InitQueue(Q);while(1){printf("\t\t\t欢迎来到XXX停车场!\n");p rintf("*****************************************************************\n");p rintf("\t\t\t1--车辆到达停车场\n");p rintf("\t\t\t2--车辆离开停车场\n");p rintf("\t\t\t3--停车场存放车辆情况\n");p rintf("\t\t\t0--退出程序\n");p rintf("*****************************************************************\n"); p rintf("选择(0-3):\n");s canf("%d",&status) ;i f(status==1){printf("\t请输入车牌号:");scanf("%d",&car_I.CarNum);printf("\t请输入车到达的时间:");scanf("%f",&car_I.time);if(!StackFull(S)){Push(S,car_I); //车进入车库car_I.pos_a=i;car_I.flag=1;i=i+1;for(int m=1;m<50;m++) //边线printf("--");printf("\n");printf("\t车牌号:");printf("%d",car_I.CarNum);printf("\t到达时间:");printf("%5.1f\t",car_I.time);printf("\t车库中的位置是:%d\n",car_I.pos_a);for(int m=1;m<50;m++) //边线printf("--");printf("\n");printf("\n");printf("\n");}else{EnQueue(Q,car_I);car_I.pos_b=j;car_I.flag=0; //++j;printf("\n");printf("\tSorry!我们的车库已满!!!,您可以把车!!免费!!停在车道上!\n");printf("\n");for(int m=1;m<50;m++) //边线printf("..");printf("\n");printf("\t车牌号:");printf("%d",car_I.CarNum);printf("\t便道上的位置为:%d\n",car_I.pos_b);for(int m=1;m<50;m++) //边线printf("..");printf("\n");printf("\n");printf("\n");}}e lse if(status==2){ //指令为 2,开车离去(如果车在车库里收取停车费;在便道上则免费)printf("请输入客户的车牌号:");scanf("%d",&car_D.CarNum);printf("请输入现在的时间:");scanf("%f",&car_D.time);i=i-1;int flag=0;//判断车是否在便道上if(StackFull(S)){Car *p=S.top;Car *q=S.base;while(p!=q){Car car=*(q);if(car.CarNum!=car_D.CarNum){flag++;}q++;} //whileif(flag>=STACKSIZE){printf("您的车停在便道上,所以免费!!!");}printf("\n");printf("\n");printf("\n");} //ifelse{do{ //挡在前面的车给要出去的车让路Pop(S,car_M);//加一个判断,判断是不是停车场里的车if(car_D.CarNum!=car_M.CarNum){Push2(S2,car_M);}else{car_I.time=car_M.time;}}while(car_D.CarNum!=car_M.CarNum);while(!StackEmpty2(S2)){ //让路的车返回去Pop2(S2,car_M);Push(S,car_M);}while(!QueueEmpty(Q)&&!StackFull(S)){if(!StackFull(S)){DeQueue(Q,car_M); //便道上的车离开后进入停车场,那么后面的车的位置都得变。

相关文档
最新文档