C语言课程设计智能停车管理系统.doc

上传人:精*** 文档编号:865398 上传时间:2023-10-05 格式:DOC 页数:24 大小:275KB
下载 相关 举报
C语言课程设计智能停车管理系统.doc_第1页
第1页 / 共24页
C语言课程设计智能停车管理系统.doc_第2页
第2页 / 共24页
C语言课程设计智能停车管理系统.doc_第3页
第3页 / 共24页
C语言课程设计智能停车管理系统.doc_第4页
第4页 / 共24页
C语言课程设计智能停车管理系统.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、目 录摘 要I第一章 绪论1第二章 系统分析32.1 停车场发展趋势分析32.2 智能停车管理系统功能需求42.3 系统菜单的主要功能6第三章 总体设计与详细设计73.1 算法分析73.2 系统流程图7第四章 编码实现104.1 判断便道是否拥挤104.2 判断该车是否在泊104.3 取车104.4 主函数11第五章 调试与测试125.1 存车125.2 取车13总结与心得14附 录161 源代码162 参考资料22摘 要智能停车管理系统作为智能交通系统的一部分,其主要功能是从静态交通方面改善和缓解城市交通拥堵。随着停车难和停车场泊位利用效率相对较低的矛盾日益突出,本文在分析现代智能停车管理系

2、统功能需求、停车特性及有效泊位变化规律的基础上,提出了高效泊位诱导系统和停车场有效泊位短时预测方法,以充分发挥静态交通系统在改善城市动态交通方面的作用。了解国内外停车管理系统发展趋势,结合国内停车管理需求和停车特性,提出完善的系统设计方案,在此基础上对泊车系统做出深入研究。利用C语言和数据库开发技术实现泊位仿真演示系统。分析研究停车场历史数据,此次停车时间以及费用。 关键词:智能停车管理;C语言;数据库第一章 绪 论随着经济发展和城市化进程的加快,我国城市机动车保有量得到了迅速增长,导致停车泊位和机动车数量增长的矛盾日益突出,但停车问题未受到应有的重视,随着城市交通和停车需求的不断增长,其势必

3、将成为解决城市交通拥挤的瓶颈。为满足日益增长的交通需求,改善交通设施现状和提高交通设施利用率迫在眉睫,具有诱人前景的“停车经济”必将蓬勃发展。而随着大型停车场的不断兴建,旨在提高停车场运营效率的智能停车管理系统也将随之发展。针对当前停车管理技术水平较低的现状,规划实施智能停车管理系统有利于对城市停车实现信息化、智能化、网络化的科学管理,通过合理配置、科学诱导,使驾驶员能够快速、准确、安全地停车,减少车辆因寻找泊位而产生对道路的占用,降低车辆尾气排放和噪声,缓解城市交通拥堵状况,同时最大程度地提高停车设施的利用率,减少违章停车现象,确保交通畅通、安全,具有很高的社会和经济效益。目前国内很多公司致

4、力于城市智能停车管理系统的研发,不断借鉴国外经验开发和完善适合国内需求的智能停车管理系统。而对停车场有效泊位的预测仅处于理论研究阶段,缺乏实际应用。国外的智能停车管理系统发展迅速,随着停车需求的不断变化,系统亦逐步完善以适应现代化的停车需求。西班牙IBERSEGUR一OPTIMA(伊佩斯库全自动泊位诱导控制系统),可以让驾驶员在停车场内方便而快速地找到空闲泊位。在节省大量寻找空闲泊位的时间和减少为寻找空闲泊位而盲目行驶所产生废弃排放量的同时,为驾驶员提供一个舒适的空间,提高了运营管理的效率。这套系统主要包括四个部分:超声波车辆探测器、动态LED泊位余数显示和指示牌、泊位控制器及管理软件。 对于

5、大型停车场来说,泊位系统能够使驾驶员方便地了解停车场内的各个停车库乃至各个泊位的使用状况、连通道的位置及空闲泊位数等实时信息。从而能够大大提高泊位利用率、缩短用户的停车时间,主要体现在:(l)提高驾驶员的使用方便性。驾驶员可以通过停车场的各个进口处的可变情报了解停车场各个车库当前的使用状况,并且系统会自动为用户分配合适的泊位。(2)保障停车场内的停车秩序。驾驶员根据停车场内的可变情报板的诱导快速高效完成停车,降低了在停车场内寻找泊位的时间,可以很好的改善内部停车秩序。(3)提高泊位利用率。通过有效诱导用户实现高效停车,减少泊位的空闲时间。(4)促进停车场周围交通顺畅,确保交通安全。停车场一般建

6、立在大都市中心区交通矛盾突出的区域,停车管理系统使用效率的提高减少停车场进口的排队等待长度和停车场周围的迂回行驶,减少交通堵塞发生的可能性,从而实现畅通的交通流,确保交通安全。停车场有效泊位的短时预测可以提高区域或城市停车诱导系统信息的可靠性和及时性,能够把下一时刻的停车信息及时呈现给用户,助其做出有效判断,尽量避免二次寻找停车场的情况发生,同时降低路段迂回车流量,减少交通拥堵。第二章 系统分析2.1 停车场发展趋势分析随着电子技术、计算机技术和现代通信技术的发展,智能交通系统的研究不断深入理论体系的逐步完善和工程实际中的广泛应用,停车场管理经过了人工管理、自动化管理到智能停车场这样一个过程。

7、在整个交通运输系统进行智能化建设的大背景下,作为其中的一个重要部分,停车场的建设必将是智能化管理模式。在停车场中运用较早的是电视监控系统和电子收费系统,国外一些停车场在进行自动化管理中运用在高速公路收费系统中应用的电子收费系统和电视监控系统,在资金管理、停车效率、车辆安全取得比较满意的效果,成为智能停车场管理的雏形。计算机技术的日益成熟与完善,电子产品价格的大幅度下降和性能的大幅度提高,通信技术与产品的成熟为建设智能停车场提供了技术与物质条件;车辆的急剧增加与城市道路扩建有限的矛盾日益突出,迫使交通管理部门与用户需找一种新的管理模式来提高管理效率和缓解剧增的交通压力。这两点的结合促使停车场向智

8、能化管理方向发展。智能化停车场是以停车场为平台,兼备智能化停车场进、出入口自动控制系统及信息网络系统,集成系统、服务、管理及它们之间的最优化组合,向用户提供一个安全、高效、舒适、便利的停车环境。智能化停车是以综合布线系统为基础,以计算机网络为桥梁,综合配置停车场及其内部各功能子系统,全面实现对网络系统、智能化停车系统的综合管理。随着国内经济的长足增长和城市建设的飞速发展,人民的生活水平不断提高,人们对住宅(办公)的要求已不仅仅局限于物理空间,也不仅仅满足以往住宅(办公)的基本功能,人们已开始越来越青睐安全、舒适、具有时间特色的智能化居住(办公)环境。汽车作为一种越来越普遍的交通工具其作用正被人

9、们所重视,同时相应的停车问题也困扰着人们:停车难、取车难、停车手续繁琐、收费不明确。另外停车场管理上也困难重重,智能化停车场管理系统正好解决了这一难题。国内智能化停车管理系统是将国外最先进的停车场自动收费系统与国内各类停车场的现状相结合,研发出一整套适合国内停车场使用的现代建筑技术和高新信息技术相结合的智能化管理收费系统,具体讲就是以系统功能集成,计算机网络与停车场自动化等多种技术集成为基础,达到信息网高度共享,全(半)自动化管理程度的智能化系统,具有方便快捷形式灵活收费准确可靠灵敏度高保密性强使用寿命长功能强大等优点。2.2 智能停车管理系统功能需求在智能交通系统中,对智能停车场的要求是既作

10、为整个交通系统的一个子系统,又作为一个相对独立的系统。前者指的是作为整个智能交通系统的一部分,要求它能与智能交通系统进行信息互动,即停车场不但能实时提供泊位的状态信息,为整个交通系统的疏导和指挥提供参考,又能接收来自交通指挥中心的指令信息,接受统一调度安排;后者指的是它能独立运行,具备诸如计费收费、控制车辆出入、满足用户停车需求等停车场的基本功能。要建立智能停车场的体系结构,首先应确定系统的用户服务要求,也就是明确停车场管理系统所应具备的功能。对于停车场的功能需求分析本文从以下三个方面进行考虑:交通管理部门、停车场管理者和用户。交通管理部门对停车场的功能需求是满足停车需要、调节交通,提供停车场

11、准确的泊位变化信息,能够让需要停车的车辆进入停车场停车,避免车辆因二次寻找停车场而在道路上迂回,以此来缓解交通压力,使整个交通有序运行。因此,停车场必须具有方便停车、提供停车场泊位状态信息变化情况的功能。停车场管理者对停车场的功能需求是保证车辆安全、计费收费、方便用户停车等,鉴于此停车场应该具有车辆出入控制、停车时长统计、费用计算、泊位诱导、车辆识别的功能,同时应该能够从系统中获取停车场的实时和历史利用情况为停车场的发展提供决策依据。从用户这一方面来说,随着车辆安全隐患的降低,对于费用收取的透明度和停车、取车的方便快捷越来越重视。因此,综合以上三方面对停车场管理的功能需求,把智能停车场中的停车

12、服务功能和交通导行服务功能归纳起来,智能停车场应至少具备以下几个功能:(1) 出入口车流量检测;(2) 出入口车辆控制;(3) 车型、车牌识别;(4) 泊位预定;(5) 泊位信息采集、处理;(6) 有效泊位短时预测;(7) 收费管理;(8) 安全监控;(9) 与区域或城市停车管理中心通信。2.3 系统菜单的主要功能(1)进入存车系统(2)进入取车系统(3)退出程序菜单中的三个选项都对应三个子程序,子程序的算法是C语言学过,下面就三个子程序中的功能进行说明:存车系统的算法,通过两个输入函数scanf输入车牌和存车时间;并运用二维数组记录存车的相应的数据。 取车系统的算法,通过scanf函数输入正

13、确的车牌和取车时间,计算出泊车时间和泊车费用,其中泊车时间不足15分钟的以15分钟计算是一个重点。主函数的算法,通过函数的调用,实现主菜单的功能。第三章 总体设计与详细设计3.1 算法分析(1) 存车系统 用car-park(void)函数来实现,用来记录车辆停放的车牌、停放时间。如果该车已在存放或便道拥挤,则分别提示此车已泊或在便道上等候车位。(2) 取车系统 用 car-get()函数来实现,用来记录车辆取车时间,以及计算泊车的时间和费用,如果停放时间低于15分钟。则按15分钟计算费用。(3) 功能选项 用主函数viod main(void)主函数来实现。用数字1、2、3选择相应的停车、取

14、车、退出三个选项。3.2 系统流程图3.2.1 写程序结构及各模块(输入,显示等)结构图; 3.2.2 存车系统流程图n16是 否输出“泊车请输入车牌”是 m!=16 否输出此车已泊 n10, 是输出“请先在便道上等待”提示输入当前时、分输出便道很拥挤3.2.3 取车系统流程图提示“取车请输入车牌”是 n16 否输出“请输入当前时、分”r=(p*60+q)-(carsn1*60+carsn1)是 n15 否输出“Parking%dMinutes Total0.75Yuan”输出停放时间和费用没有这个车牌设计测试流程(1)进入界面(2)输入选项1;按提示输入车牌:输入正确后则提示输入时间:(3)

15、回到主菜单;输入选项2;输入取车车牌;输入取车时间;显示泊车时间和泊车费用;(4)回到主菜单,输入3; 退出系统系统源程序见附录:第四章 编码实现4.1 判断便道是否拥挤for(n=0;n16;n+) if(carsn0=0) break; /*判断便道是否拥挤*/ if(n=16) printf(nVery crowded pavement.n); /*提示便道很拥挤*/ getch(); return; 4.2 判断该车是否在泊if(m!=16) printf(nThis car has been parked.n); /*提示此车正在泊*/ getch(); return; 4.3 取车

16、 scanf(%d,&p); /* 输入取车时间*/ printf(input the current time cent:); scanf(%d,&q); r=(p*60+q)-(carsn1*60+carsn1); /* 计算泊车时间*/if(r=15) printf(Parking%dMinutes Total%.2fYuann,r,0.75);else printf(Parking%dMinutesTotal%.2fYuann,r,r*0.05);/* 输出泊车时间和泊车费用*/4.4 主函数void main(void) /*主函数*/ int n; char x;mainloop:

17、 clrscr(); printf(Parking:n); /*输出菜单页面 */ for(n=0;n10;n+) if(carsn0!=0) printf(CAR %d %d:%dn,carsn0,carsn1,carsn2); else printf(=n); printf(nPavement:n); for(n=10;n15;n+) if(carsn0!=0) printf(CAR %d ,carsn0); else printf(- - - - - - -); printf(nnParking?For cars?End(1/2/3)n); x=getch(); if(x=1) car_

18、park(); /*菜单选项*/ if(x=2) car_get(); if(x=3) exit(0); goto mainloop; 第五章 调试与测试5.1 存车 存车界面图如下图: 输入的车牌号为1234,开始停车时间为00:00(时、分)。5.2 取车仿真图如下图:当停车时间不超过15分钟时,停车费用为0.75元。当停车时间超过15分钟时,停车费用按正常公式计算得到。总结与心得为期几周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了

19、合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础我首先觉得,用到的程序段不必太高级,因为天下事有高低之分,决定优劣的不是集体中某部分的强弱,起决定作用的是组合内各元素的和谐,要能在一个集体中各尽所能,每个人都能发挥长处,避免自己的短处,那么这个集体的实际组合能量是最优的。选择什么等级的语言就是关键,最后我决定运用结

20、构体类型数组,去实现自己的构想。飞机定票系统程序设计有几个要求:要能输入航班信息,要能查找航班信息,要能显示空座数量,要能显示已订座信息。要能订票及删除订票预约。我的理解是:必须建立一个文件,它既能够保存新的录入文档,又能在提示语言的要求下读出文档。然而,这只是万里长征的第一步。后面的路还很长,困难还很多,可是我能成功的编译一个程序,能够在思路不卡壳的情况下,继续前进,我在此很想感谢那些给予我耐心解答的老师和同学,是他们为我小程序的成功起到了关键性的作用,那么多个日夜,如此多的困难,同学们勤恳塌实,从开始到结束,没有显出一点倦意,始终热情高涨,我感谢这种氛围,感谢学校提供的良好条件。 回顾起此

21、次课程设计,至今我仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这

22、次课程设计之后,一定把以前所学过的知识重新温故。通过自己的努力,一个属于自己的程序终于完成了,虽然这个程序只是一个小程序,许多方面不太完善,但是通过这次课程设计,让我对编程有了更深的了解。同时也深刻的体会到在编程中一些编程技巧和算法的重要性。C语言是计算机的基础,我目前的学习还很有限,但我相信通过这次编程设计。我会在以后的学习中更加努力! 最后,感谢老师对我的指导!附 录1 源代码#include #include#includeint cars163;void car_park(void) int n,m,o; for(n=0;n16;n+) if(carsn0=0) break;/*判断便

23、道是否拥挤*/ if(n=16) printf(nVery crowded pavement.n); /*提示便道很拥挤*/ getch(); return; printf(nparking-Please input your license plate:); /*输入车牌 */ scanf(%d,&o); for(m=0;m16;m+) if(carsm0=o) break; /*判断此车是否在泊 */ if(m!=16) printf(nThis car has been parked.n); /*提示此车正在泊*/ getch(); return; carsn0=o; if(n10) /

24、* 判断便道是否有车位*/ printf(input the current time hours:); /* 输入存车当时时间*/ scanf(%d,&carsn1); printf(input the current time cent:); scanf(%d,&carsn2); return; else printf(nPlease wait for parking spaces on the pavement); /*提示等待车位 */ getch(); void car_get() int n,o,p,q,r; printf(nFor cars-Please enter licens

25、e plates:); /* 输入取车车牌*/ scanf(%d,&o); for(n=0;n16;n+) if(carsn0=o) break; /* 判断输入车牌是否正确*/ if(n=16) printf(nWithout this license plate.n);/*提示输入车牌错误*/ getch(); return; printf(input the current time hours:); /*输入取车时间*/ scanf(%d,&p); printf(input the current time cent:); scanf(%d,&q); r=(p*60+q)-(carsn

26、1*60+carsn1); /* 计算泊车时间*/if(r=15) printf(Parking%dMinutes Total%.2fYuann,r,0.75);elseprintf(Parking%dMinutes Total%.2fYuann,r,r*0.05); /* 输出泊车时间和泊车费用*/ for(r=n;r15;r+) /*泊车不足15分钟按15分钟计算*/ carsr0=carsr+10; carsr0=carsr+10; carsr0=carsr+10; cars91=p; cars92=q; getch(); void main(void) /*主函数*/ int n; c

27、har x;mainloop: clrscr(); printf(Parking:n); /*输出菜单页面 */ for(n=0;n10;n+) if(carsn0!=0) printf(CAR%d%d:%dn,carsn0,carsn1,carsn2); else printf(=n); printf(nPavement:n); for(n=10;n15;n+) if(carsn0!=0) printf(CAR %d ,carsn0); else printf(- - - - - - -); printf(nnParking?For cars?End(1/2/3)n); x=getch(); if(x=1) car_park(); /*菜单选项*/ if(x=2) car_get(); if(x=3) exit(0); goto mainloop; 2 参考资料1 谭浩强、张基温. C语言程序设计教程 北京:高等教育出版社,20082 曾斌. C语言参考手册 西安电子科技大学出版社,20043 李万红. 管理信息系统原理与应用 北京清华大学出版社,2003.忽略此处.24

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

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922