ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:256.56KB ,
资源ID:9792864      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9792864.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(泊车管理系统.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

泊车管理系统.docx

1、泊车管理系统摘要在科技高速发展的今天,汽车在人类社会中仍然占有重要的地位。汽车是人类的主要代步工具之一,随着社会的发展,人们生活水平的提高,越来越多的人成为有车一族,这就不可避免的导致了停车位的紧张。如何高效、快捷、方便地利用停车位成了缓解紧张的有效方法之一。本课程设计为泊车管理系统。利用VC+6.0编写程序模拟实现汽车停放管理的部分功能。在软件设计中采用了模块化设计,使其维护、修改都变得十分方便,这样也利于团队开发。该系统的主要功能有:查看目前停车场的停车情况,显示停车位号及车牌号;停靠车辆:显示剩余车位号,输入要停靠的车位号并检查是否存在该车位及该车位是否已停靠汽车,无则将该车停入该车位,

2、有车则给出相应的错误提示;取走车辆:输入车牌并检查是否有该车辆,有则计算停车费用并显示,并对该车位清空,无该车则给出相应的错误提示;报告在第一章对泊车管理系统软件进行了分析和说明。第二章里对系统进行了详细的分析,对数据库进行说明,讲述了总体设计思路及功能模块的具体设计,给出了系统的各个界面并用流程图描绘了功能的具体实现过程。第三章是软件源代码及说明。第四章为软件的调试和测试及测试结果和程序运行界面等。关键词:查询 泊车 取车 计费1 设计题目、任务内容及具体要求1.1设计题目泊车管理系统1. 2任务内容本程序属于非数值计算型算法设计,学生需要设计出一个简单的泊车模拟系统所需要的基本功能,并设计

3、简单的界面。假定有10个车位,汽车在到来的时候首先选择车位,然后记录当前停车的时间,在取车的时候再记录取车时间,根据停了多长时间来给出费用。2. 3具体要求通过提示菜单选择可以进行的操作。本系统设计不存在需要存放的数据,因此不需要文件操作。本系统假设收费时间固定,假定每小时收费为5元本停车场分为两个部分,一部分是停车位(10个),一部分是等候位(3个),所谓等候位就是目前停车场暂时全满,当有一辆车离开腾出一个停车位后,等候位的第一位用户就可以马上停车等用户选择离开停车场后,根据停车时间给出停车费用本系统主要包括的功能为:1)查看目前停车场的停车情况2)进入停车场,如果停车场满而等候位不满则可以

4、提示用户是否要在等候位等候,如果用户选择是,则将该车辆放入等候位;如果停车场满而且等候位也满,则提示已无法停车。用户在停车的时候需要选择要停靠的停车位,此时可以根据情况选择是否对输入的停车位正确性作判断,在停靠的时候需要输入牌照和停车位号码3)离开停车场,此时输入牌照,系统将计算费用并显示,同时查看等候位是否有车辆,如果有车辆则将等候位的第一辆车移入刚刚的车位,同时将等候位的其他车辆往前移,如果等候位没有车辆则将该停车位清空,需要对输入的牌照进行判断,如果输入错误应给出提示4)退出系统2 泊车管理系统总体设计思路系统应能显示车位车辆停放信息,包括车位和车牌号,如果没有则给出相应提示。停入汽车时

5、,自动检查是否还有剩余停车位,有则提示可供选择车位,输入车位号、车牌号,停车成功;没有则检查是否还有剩余等候车位,有则提示车主是否进入等候车位。取走汽车,输入车牌号,自动检查是否有该车,有则计算应付的停车费用,取出汽车;没有则给出提示。当取车成功后自动检查等候车位是否停泊有车辆,有则将停泊在等候车位的汽车停放到停车位,若没有则清空该车位。系统还应具有一定的错误检查功能并且检查到错误时给出提示。图2.1为泊车管理系统的结构图,它包含了查看、停车、取车3个子系统。图2.1泊车管理系统结构图为了方便车主使用,软件采用菜单方式。软件运行时,首先在屏幕时候那个显示各种功能,车主只要按一些简单的键,便可以

6、进入相应的功能。如图2.2所示为进入泊车管理系统后的菜单示意图。共有3项功能,车主只要按一个数字(如“2”)便可进入下一层相应的功能停车。程序实现时根据车主的选择转向相应的函数由选择函数实现。图2.2 泊车管理系统的主菜单3 功能模块及设计为了方便车主使用,软件采用菜单方式,模块化设计思想。本程序共设计了查看目前停车场的停车情况、停车、取车3个模块。先定义2个整形数组大小分别为10和3的一维数组,分别存储车位和车牌号等信息并初始化为0,例如:int park10=0,wait3=0,将车牌号保存到对应的数组中,可以通过0或非0分别表示车位无车或车位有车。再定义一个整形变量用来存储总车辆数并初始

7、化为0,例如:sum=0。最后定义查看、停车、取车均为void类型函数,例如:void situation(),void parking(),void getting()。在主函数中,定义主函数为void类型。首先利用printf()函数将菜单选项打印出来,根据车主的选择,进入到查看停车信息、停车或取车模块。根据车主的选择转向相应的函数由选择函数实现。要想函数循环运行,可使用dowhile结构,例如:void main()do printf(Welcome to Car Parking System! n);printf(1.Show Parking Situation ); printf(2

8、.Parking Car ); printf(3.Getting Car ); printf(4.Exit n); printf(ttPlease Select:); scanf(%d,&select);switch(select) case 1: situation();break; while(select!=4) 即当输入的不为4时,程序就反复执行。在查看停车信息模块中,通过循环控制结构用if语句判断停车数组中的元素是否为0,为0的显示“no car”,非0则显示数组元素并依次打印。例如:void situation() int i; printf(park area car numbe

9、rn); for(i=0;i=10,即停车位满而等候车位未满,询问车主是否进入等候车位,如果车主选择是则提示输入车牌号并将车牌号信息存到等候车位数组中且sum+1,选否退出系统。当总车辆数小于10时,即sum=10) printf(There are ten parking area!n); printf(Now Left No Area!n); printf(Do you want to wait?); scanf(%s,&d); switch(d) case 121: int m,e; printf(Please input car number:); scanf(%d,&e); for(

10、m=0;m3;m+) if(waitm=0) waitm=e; break; printf(Park to the waiting area success!n); sum=sum+1; case 110: select=4; break; else if(sum10) printf(There are ten parking area!n); printf(Now Left ); for(j=0;j10;j+) if(parkj=0) printf( %d,j+1); printf( Area!n); printf(Which one do you want to park?); scanf

11、(%d,&b);if(b10) printf(No this parking area numbe!n); else printf(Please input you car number:); scanf(%d,&c); parkb-1=c; printf(Parking success!n ); startb-1=clock(); sum=sum+1; 取车模块,首先提示车主输入车牌号,运用for循环控制结构将车主输入的车牌号依次与停车数组中的元素进行比较,当没有输入的车牌号的车辆,即parkn!=a时提示车主没有该汽车,当parkn=a时则停止停车时间的计算,结算停车费用,取出汽车,总车辆

12、数减1,即sum-1。当取车成功后判断等候车位是否有汽车,即用for循环控制结构和if语句判断等候车位数组是否有元素非0,有则将该数值赋值到停车位数组刚才的元素中,并依次将等候车位中后一位元素的值赋值到前一为中,当没有时将该停车位数组元素赋值为0。该函数可写位:void getting() int n,p,a; double t,pay; printf(Please input you car number:); scanf(%d,&a); for(n=0;n10;n+) if(parkn=a) endn=clock(); t=double(endn-startn)/CLOCKS_PER_SE

13、C; pay=t/3600*5; printf(You must pay %lf yuann,pay); printf(Geting car success!n); sum=sum-1; if(wait0!=0) parkn=wait0; int r; for(r=0;r2;r+) waitr=waitr+1; wait2=0; else parkn=0; select=4; break; if(n=10) printf(Cannot find this car!n); printf(n);各模块的程序流程图如下所示:图3.3 主函数流程图图3.4 situation()函数流程图图3.2.3

14、 parking()函数流程图图3.2.4 getting()函数流程图4 程序调试及测试4.1 车位未停满汽车时运行程序 显示主菜单图4.1.1 主菜单输入1 显示目前停车场的停车情况图4.1.2 目前停车场的停车情况输入2 显示剩余车位图4.1.3 剩余车位 输入车牌号,停靠汽车成功图4.1.4 输入车牌号,停靠汽车输入3等待输入车牌号图4.1.5 等待输入车牌号 输入要取走汽车的车牌号 显示停车费,取车成功图4.1.6显示停车费,取车成功输入4 退出程序图4.1.7 退出程序4.2 没有车位时运行程序 显示主菜单输入1 显示目前停车场的停车情况图4.2.1 显示目前停车场的停车情况输入2

15、 显示没有剩余车位,是否进入等待车位图4.2.2 选择是否进入等待车位输入车牌,进入等待车位图4.2.3 进入等待车位,存入汽车输入3输入要取走汽车的车牌号图4.2.4. 输入车牌号显示停车费,取车成功图4.2.5显示停车费,取走车辆将在等候车位的汽车挪到停车位图4.2.6将等候车位的汽车挪到停车位输入4 退出程序5 总结通过本次的课程设计,在不断的修改和学习中,使我更进一步了解了C语言,从原来的片面理解升华到了一个新的高度。在编写和调试程序的过程中,通过一次次的失败并不断从失败中吸取经验,总结错误,改正错误,终于将程序调通。心情无比的高兴,我们不但要看重结果,根要注重过程。在编写程序的过程中

16、,我体验到了当程序调通时的那种喜悦的心情,也感受到程序不通时的那种久不得解的愤怒。但是现在想想,觉得一切都是值得的。通过这几天的程序编写,使我认识到总结众多不足,在今后一定要多多加强这方面的练习,提高自己编写C的水平。总的说来,通过本次的课程设计,收获颇多。致谢通过坚持不懈的努力,在老师的指导和同学的帮助下,我终于完成了程序的编写和报告。在此由衷的感谢在编写程序的过程中指导我们的向毅老师、刘海玲老师,以及帮助过我的同学、朋友。我的成功与你们的帮助是分不开的。参考文献1 谭浩强 张基温C语言程序设计教程第三版高等教育出版社 2006:12-32 谭浩强 张基温C语言习题集与上机指导第三版高等教育

17、出版社 2006:8-3源程序清单程序源代码如下:#include stdafx.h#include#includevoid situation();void parking();void getting();void Exit();clock_t start10;clock_t end10;int park10=0,wait3=0,sum=0;int select;void main() do printf(t *n); printf(t * Welcome to Car Parking System! *n); printf(t * 1.Show Parking Situation *n)

18、; printf(t * 2.Parking Car *n); printf(t* 3.Getting Car *n); printf(t* * 4.Exit * *n); printf(t * * * n); printf(t * * n); printf(ttPlease Select:); scanf(%d,&select); switch(select) case 1: situation(); break; case 2: parking(); break; case 3: getting(); break; case 4: Exit(); break; getch(); while

19、(select!=4&select=1&select4);void situation() int i; printf(tttpark areatcar numbern); for(i=0;i=10) printf(ttThere are ten parking area!n); printf(ttNow Left No Area!n); printf(ttDo you want to wait?); scanf(%s,&d); switch(d) case 121: int m,e; printf(ttPlease input car number:); scanf(%d,&e); for(

20、m=0;m=0&sum10) printf(ttThere are ten parking area!n); printf(ttNow Left ); for(j=0;j10;j+) if(parkj=0) printf( %d,j+1); printf( Area!n); printf(ttWhich one do you want to park?); scanf(%d,&b); if(parkb-1!=0) printf(ttSorry!There is a car in this area!n); else if(b10) printf(ttNo this parking area n

21、umbe!n); else printf(ttPlease input you carnumber:); scanf(%d,&c); parkb-1=c; printf(ttParking success!n ); startb-1=clock(); sum=sum+1; printf(n);void getting() int n,p,a; double t,pay; printf(ttPlease input you car number:); scanf(%d,&a); for(n=0;n10;n+) if(parkn=a) endn=clock(); t=double(endn-sta

22、rtn)/CLOCKS_PER_SEC; pay=t/3600*5; printf(ttYou must pay %lf yuann,pay); printf(ttGeting car success!n); printf(ttBye-bye!n); sum=sum-1; if(wait0!=0) parkn=wait0; int r; for(r=0;r2;r+) waitr=waitr+1; wait2=0; else parkn=0; select=4; break; if(n=10) printf(ttCannot find this car!n); printf(n);void Exit() printf(ttThank you for using this system!n); printf(ttHave A pleasant journeyn); printf(ttBye-bye!n); printf(n);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1