南邮泊车系统程序设计
停车智慧管理系统设计方案

停车智慧管理系统设计方案一、引言随着城市化进程的快速发展,车辆数量的不断增加,停车难问题成为困扰城市居民的大问题。
为了解决这一问题,智慧停车管理系统应运而生。
智慧停车管理系统通过信息技术手段,提供给驾驶员停车位查询、导航、预约等功能,使停车过程更加便捷和高效。
本设计方案将介绍一种停车智慧管理系统的设计,包括系统结构、功能模块、数据流程、技术实现方案等。
二、系统结构停车智慧管理系统包括前台用户端和后台管理端两个主要部分。
前台用户端:提供给驾驶员使用,通过手机APP、网页等方式呈现,实现停车位查询、导航、预约等功能。
后台管理端:由停车场管理人员使用,用于实时监控停车场情况、管理停车位、处理异常情况等。
三、功能模块1. 停车位查询:用户根据自己的位置和停车需求,可以通过系统查询附近的停车位信息,包括空闲车位数量、停车位类型、停车场费用等。
2. 停车导航:用户可以通过系统提供的导航功能,选择最优的行车路线到达目的地的停车场。
3. 停车预约:用户可以提前通过系统预约停车位,并支付相应的费用,避免到停车场后找不到停车位的尴尬。
4. 停车缴费:用户可以通过系统完成停车费用的缴纳,可以选择多种支付方式,包括支付宝、微信、银行卡等。
5. 实时监控:后台管理人员可以通过系统实时监控停车场的情况,包括停车位使用情况、停车场出入口的车流量等。
6. 异常处理:系统可以通过传感器、摄像头等设备监测停车场的异常情况,如违规停车、车辆碰撞等,及时报警并处理。
7. 数据统计:系统可以对停车场的数据进行统计和分析,包括停车位使用率、停车场客流量、停车费用等,帮助管理人员做出决策和优化管理。
四、数据流程1. 用户查询停车位信息:用户通过系统输入自己的位置和停车需求,系统根据用户的信息查询附近的停车位情况,并返回给用户相应的结果。
2. 用户预约停车位:用户选择合适的停车位后,可以通过系统进行预约,预约成功后用户需要支付相应的费用。
3. 用户导航到停车场:用户通过系统的导航功能,选择最优的行车路线到达目的地的停车场。
停车场系统java课程设计

停车场系统java课程设计一、教学目标本课程旨在通过停车场系统Java课程设计,让学生掌握Java编程基础,了解停车场系统的基本原理和设计方法。
具体目标如下:1.理解Java编程语言的基本语法和特性。
2.掌握面向对象编程的基本概念和方法。
3.了解停车场系统的业务需求和设计原则。
4.能够使用Java编程语言编写简单的应用程序。
5.能够运用面向对象编程思想进行程序设计。
6.能够独立设计和实现一个简单的停车场系统。
情感态度价值观目标:1.培养学生的编程兴趣,提高自主学习能力。
2.培养学生团队协作意识和沟通能力。
3.培养学生解决问题的能力和创新精神。
二、教学内容本课程的教学内容主要包括Java编程基础、面向对象编程和停车场系统设计。
具体安排如下:1.Java编程基础:–Java语法和基本数据类型–控制结构和函数–面向对象编程:类与对象、继承与多态、封装2.停车场系统设计:–停车场业务需求分析–停车场系统架构设计–停车场系统模块划分–停车场系统功能实现3.项目实践:–学生分组进行项目实践–各组完成停车场系统的设计和实现–进行项目展示和交流三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
具体如下:1.讲授法:用于讲解Java编程基础和停车场系统设计理论。
2.案例分析法:通过分析实际案例,让学生了解停车场系统的业务需求和设计方法。
3.实验法:让学生动手实践,完成停车场系统的设计和实现。
四、教学资源本课程所需教学资源包括教材、参考书、多媒体资料和实验设备。
具体如下:1.教材:选用权威、实用的Java编程教材。
2.参考书:提供停车场系统设计和实现的参考书籍。
3.多媒体资料:制作课件、案例视频等,辅助教学。
4.实验设备:提供计算机、网络等实验环境,让学生进行实践操作。
五、教学评估本课程的教学评估采用多元化的评估方式,以全面、客观地评价学生的学习成果。
具体评估方式如下:1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总分的30%。
C语言课程设计+泊车管理系统

《高级语言程序设计》课程设计报告题目:泊车管理系统得分班级:学号:姓名:2008年6月18日学生成绩简单管理程序1. 前言C语言是我学习的第一个编程语言,在一年的学习中,C语言简洁使用方便灵活、语法限制不太严格、程序设计自由度大等一系列优点让我渐渐对C语言产生了浓厚的兴趣。
同时在这一年的学习中我也认识到了自己在学习方面的不足,对结构体、指针、文件等的学习仅停留在各个部分的学习上,还无法在编程时对其熟练的运用。
在编程总体把握上还有许多的欠缺。
对于算法也只是稍微的接触。
所以利用这次课程设计提高自己对提高自己编程效率,完善自己在C语言编程上算法的不足。
2. 系统菜单及题目分析2.1 系统菜单的主要功能(1)进入存车系统(2)进入取车系统(3)退出程序2.2题目分析泊车管理系统主要考察对结构体,指针,文件的操作,以及C语言算法的掌握,所以完成此道题目要求较强的设计能力,尤其是要有一种大局观的意识。
如何调程序也非常重要,通过这个程序可以学习到以前调试短程序没有的的经验。
菜单中的三个选项都对应三个子程序,子程序的算法是C语言学过,下面就三个子程序中的功能进行说明:存车系统的算法,通过两个输入函数scanf输入车牌和存车时间;并运用二维数组记录存车的相应的数据。
取车系统的算法,通过scanf函数输入正确的车牌和取车时间,计算出泊车时间和泊车费用,其中泊车时间不足15分钟的以15分钟计算是一个重点。
主函数的算法,通过函数的调用,实现主菜单的功能。
3. 算法分析(1)存车系统用car-park(void)函数来实现,用来记录车辆停放的车牌、停放时间。
如果该车已在存放或便道拥挤,则分别提示此车已泊或在便道上等候车位。
(2)取车系统用car-get()函数来实现,用来记录车辆取车时间,以及计算泊车的时间和费用,如果停放时间低于15分钟。
则按15分钟计算费用。
(3)功能选项用主函数viod main(void)主函数来实现。
停车管理系统课程设计

停车管理系统课程设计一、课程目标知识目标:1. 让学生理解停车管理系统的作用和重要性,掌握其基本组成部分及功能。
2. 使学生掌握数据结构中与停车管理系统相关的基础知识,如队列、栈等。
3. 帮助学生了解并运用编程语言(如Python或C++)实现简单的停车管理系统。
技能目标:1. 培养学生运用数据结构解决实际问题的能力,能够设计并优化停车管理系统的数据模型。
2. 提高学生的编程能力,使其能够独立完成一个简单的停车管理系统的代码编写和调试。
3. 培养学生团队协作和沟通能力,通过小组合作完成课程项目。
情感态度价值观目标:1. 激发学生对计算机科学和信息技术领域的兴趣,培养其主动学习的态度。
2. 培养学生关注社会问题,认识到信息技术在解决实际生活中的重要作用,增强社会责任感。
3. 引导学生树立正确的价值观,认识到技术应服务于社会,遵循道德规范,保护用户隐私。
本课程针对高年级学生,已具备一定的数据结构知识和编程基础。
课程性质为实践性较强的综合应用课程,旨在通过停车管理系统这一实际案例,使学生将所学知识综合运用到实际项目中。
教学要求注重培养学生的实践能力、创新思维和团队协作能力,通过分解课程目标为具体的学习成果,使学生在完成课程后能够达到预期的知识和技能水平。
二、教学内容1. 停车管理系统概述:- 系统功能介绍- 系统在实际生活中的应用案例2. 数据结构基础:- 队列与栈的应用- 哈希表的原理与实现3. 编程语言选择与使用:- Python/C++语言基础- 编程规范与调试技巧4. 停车管理系统设计与实现:- 系统需求分析- 数据模型设计- 算法设计与优化- 代码编写与测试5. 课程项目:- 小组分工与协作- 项目进度安排与汇报- 项目评价与反馈教学内容根据课程目标,结合课本相关章节,制定以下教学大纲:第1周:停车管理系统概述,数据结构基础第2周:编程语言选择与使用,编程规范与调试技巧第3-4周:停车管理系统设计与实现(需求分析、数据模型设计、算法设计)第5-6周:停车管理系统设计与实现(代码编写与测试)第7周:课程项目启动,小组分工与协作第8周:课程项目中期汇报,项目评价与反馈第9周:课程项目总结,成果展示与分享教学内容科学系统,注重理论与实践相结合,旨在提高学生的实际操作能力和创新思维。
c停车收费管理系统课程设计

c 停车收费管理系统课程设计一、教学目标本课程旨在通过学习C停车收费管理系统的设计与实现,使学生掌握停车场管理系统的基本原理、设计方法和实际应用。
在知识目标方面,要求学生了解停车场管理系统的相关概念、组成部分和工作原理;掌握C语言编程基础,能够运用C语言进行简单的系统开发。
在技能目标方面,要求学生能够运用所学的知识,独立设计并实现一个简单的停车场收费管理系统;具备一定的编程能力和问题解决能力。
在情感态度价值观目标方面,培养学生对计算机科学的兴趣和热情,提高学生运用计算机技术解决实际问题的意识。
二、教学内容本课程的教学内容主要包括停车场管理系统的理论知识、C语言编程基础以及停车场收费管理系统的具体设计。
具体安排如下:1.停车场管理系统的理论知识:介绍停车场管理系统的概念、组成部分、工作原理和分类,使学生了解停车场管理系统的整体框架。
2.C语言编程基础:讲解C语言的基本语法、数据类型、运算符、控制结构等,为学生实现停车场收费管理系统提供编程基础。
3.停车场收费管理系统的具体设计:引导学生运用所学的C语言知识,设计并实现一个简单的停车场收费管理系统,包括车位信息的录入、查询、停车费计算等功能。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。
包括:1.讲授法:讲解停车场管理系统的理论知识、C语言编程基础等,使学生掌握基本概念和原理。
2.案例分析法:分析实际停车场收费管理系统的案例,使学生了解停车场管理系统的应用场景和实际问题。
3.实验法:学生进行编程实践,设计并实现一个简单的停车场收费管理系统,提高学生的动手能力和问题解决能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供停车场管理系统的基本理论和C语言编程知识。
2.参考书:提供相关的参考书籍,为学生深入学习提供更多资料。
3.多媒体资料:制作精美的课件、教学视频等,提高学生的学习兴趣和效果。
C语言课程设计报告泊车系统

C语言课程设计报告题目:泊车管理系统学院:学号:姓名:指导教师:成绩:日期:《泊车管理系统》一、课程设计的目的与要求1.目的本课程设计是学生学习完《C语言程序设计》课程后,进行的一次全面的综合训练,通过课程设计,更好地掌握使用C语言进行程序设计的方法,加深对C语言特点和使用C语言进行程序设计开发过程的理解,加强动手能力。
其主要目的是:(1)进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解;(2)针对C语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
(3)掌握C语言的编程技巧和上机调试程序的方法。
(4)掌握程序设计的常用算法。
2.要求:(1)要求从所给题目中任选若干个,每个学生必须独立完成课程设计,不能互相抄袭。
(2)设计完成后,对所完成的工作进行答辩。
(3)要求写出一份详细的课程设计报告。
(4)程序设计题目,须提交相应的程序,并需提供加注释的源程序,能正常运行。
二、开发环境1.硬件环境 : 机器型号:Hewlett-Packard Compaq Presario CQ40 Notebook PC内存配置:DDR2 SDRAM SO-DIMM 2.软件环境:操作系统:jdk1.5 + tomcat6 + mysql .开发工具:Microsoft Visual C++ 6.0三、题目描述及分析题目描述:本程序属于非数值计算型算法设计,学生需要设计出一个简单的泊车模拟系统所需要的基本功能,并设计简单的界面(无需图形化)。
假定有10个车位,汽车在到来的时候首先选择车位,然后记录当前停车的时间,在取车的时候再记录取车时间,根据停了多长时间来给出费用,本程序主要考察对自定义函数的熟悉程度,本程序中主要使用到的是数组的相关操作,包括数组的输入、输出、查找、插入、删除等操作,需要对数组有比较深入的掌握。
题目分析:(1)通过提示菜单选择可以进行的操作。
停车场管理系统 程序设计

一、停车场管理系统1.1设计要求1。
1.1问题描述设计一个停车场管理系统,模拟停车场的运作,此程序具有以下功能:①汽车到达,则显示汽车在停车场内或便道上的停车位置。
②若车离去,则显示汽车在停车场内停留的时间和应缴纳的费用(在便道上停留的时间不收费)。
1.1。
2基本要求①要求以栈模拟停车场,以队列模拟车场外地便道,按照从终端读入的输入数据序列进行模拟管理。
②求处理的数据元素包括三个数据项:汽车“到达”或“离去"信息.汽车牌照号码以及离去的时刻。
③要求栈以顺序结构实现,队列以链表实现。
1。
1.3测试数据自行设计一组在停车场上停车的数据和便道上停车的数据.1。
1.4实现提示该停车场能容纳车辆的数量,便道上的停车数量。
车辆到达对应栈的入栈操作,车辆离开对应栈的出栈操作。
1。
2设计代码及注释#include<iostream>#include<time.h〉#include<ctime〉#include〈dos。
h〉#include<windows.h>using namespace std;#define PASS 20#define POT 20struct passLot//便道队列数据结构{int num;//车位号time_t timep;//停车时间int carNum;//停车的车牌号码};struct potLot//停车场栈数据结构{int num;time_t timep;int carNum;};void printLine()//打印下划线(作为主界面图表的框架){cout〈<"\t\t\t___________________________________”<〈endl;return;}void printStar()//打印星号{cout〈〈endl〈〈"\t\t******************************************************”<<endl;}class erroFull//停车位满时异常类{public:erroFull(){system("color 3c");}void ex(){cout〈<endl<〈"\t\t\t!!!停车场位已满!”〈〈endl;_sleep(2000);}~erroFull(){}};class erroEmp//停车位空时异常类{public:erroEmp(){system("color 3c”);}void ex(){cout<〈”!!!停车场位为空!”〈〈endl;_sleep(2000);}~erroEmp(){}};class parkingLot//停车场类{public:parkingLot(){passLot* pa;//便道停车位指针potLot* po;//停车场停车位指针flag=0;//用来记忆队列(便道)中停车的数量rear=front=0;//初始化队列头尾base=0;top=base;//初始化栈头尾int i=0;//初始化停车场和便道空间以及车位号for(;i〈POT;i++){pa=(passLot*)malloc(sizeof(passLot));a[i]=pa;a[i]-〉num=i+1;a[i]->carNum=0;po=(potLot*)malloc(sizeof(potLot));b[i]=po;b[i]->num=i+1;b[i]->carNum=0;}}~parkingLot(){cout〈〈”\t\t停车场数据已清空.”〈〈endl;}void passLG()//便道管理函数{try{if(flag==20) throw erroFull();//如果停车位已满,则抛出车位慢得异常情况system(”cls”);printStar();cout<<"\t\t\t\t您进入了便道停车界面”〈<endl;cout〈〈endl〈〈”\t\t\t便道停车场共有20个车位,现共停"<<flag<〈"个车位.”<〈endl<〈endl;cout<〈"\t\t\t请输入将要停车的号码:";cin>>a[rear]-〉carNum;a[rear]—>timep=time(NULL);cout<<endl<<"\t\t\t!!汽车停放在"〈<a[rear]-〉num〈<”车位成功,系统将在一秒后返回上层界面!!"<<endl;rear=(rear+1)%PASS;flag++;_sleep(1000);}catch(erroFull &err){err。
毕业设计——智能泊车系统设计(上位机)

毕业设计(论文)设计论文题目:智能泊车系统设计(上位机)学生姓名:学生学号:专业班级:学院名称:指导老师:学院院长:2013年6月3日智能泊车系统设计(上位机)摘要泊车系统是针对汽车泊车问题提出的解决方案,它是一种通过外部传感器来感知外界环境信息,运用泊车策略来控制汽车的转向、速度,来使车辆完成泊车任务的系统。
一般的泊车系统存在于中高端的汽车中,而低端的汽车并不带有泊车系统。
本设计旨在运用低端汽车中的现有设备,并经过适当的改造使其具有辅助泊车的功能。
本设计从泊车经验的调研入手,结合ARM9芯片的特性,完成泊车系统上位机的设计,主要内容:首先,建立车辆泊车过程中的运动模型,对影响汽车泊车过程的基本参数进行分析。
其次,调研得到不同泊车过程的基本经验,并将经验转化为数学模型,以建立专家经验,同时进行数学仿真,检验专家经验的正确性。
最后,结合MINI2440开发板上的基本功能模块,将专家经验程序化,编译并调试程序,完成系统的设计。
关键词:垂直泊车;平行泊车; MINI2440AbstractThe parking system is proposed solutions for car parking problem, it is an external sensors to perceive the external environment information, the use of the parking strategy to control the car's steering speed, so that the vehicle parking tasks. The general parking system exists in the high-end cars, low-end cars have no parking system. Designed to use existing equipment in the low-end car, and it has the proper transformation.The design from the driver's parking experience, and combined with the characteristics of the ARM9 chip to complete the design of the parking system host computer, the main content:First of all, the car kinematics model of car parking in the basic movement, an understanding of the basic parameters that affect the process of car parking.Secondly, the basic experience of the car parking process is summarized and translated into mathematical parameter model, combined with vehicle kinematics mathematical simulation in order to verify its correctness.Finally, program the basic function with MINI2440 develop board, compile and debug these program ,complete the task of the system design .Keywords: vertical parking; parallel parking; MINI2440目录摘要 (I)Abstract..................................................................... I I 第1章绪论. (1)1.1研究背景与意义 (1)1.2研究现状与问题 (2)1.3本文主要工作与结构安排 (2)第2章车辆数学建模与泊车问题分析 (4)2.1 车辆的运动学模型 (4)2.2 泊车问题参数分析 (6)2.2.1 泊车基本过程 (6)2.2.2 泊车的相关参数分析 (8)2.3 本章小结 (9)第3章路径规划 (10)3.1 实际泊车经验模型 (10)3.2 规划路径显示拟合 (12)3.3 MATLAB仿真 (14)3.4 本章小结 (16)第4章系统软、硬件分析 (17)4.1 系统总体设计 (17)4.2 MINI2440开发板及相应的功能模块分析 (18)4.3 软件开发环境简介 (19)4.4 系统底层模块分析 (19)4.4.1 串口Uart分析 (20)4.4.2 LCD显示分析 (21)4.4.3 I2S音频分析 (24)4.5 系统相应的泊车模块分析 (25)4.5.1 车外环境判断模块分析 (25)4.5.2 平行、垂直泊车模块分析 (26)4.5.3 实时指示模块分析 (27)4.6 本章小结 (28)第4章系统性能实验分析 (29)5.1 实验目的与方法 (29)5.2 实验过程 (29)5.3 结果分析 (29)5.4 本章小结 (32)结论 (33)致谢 (34)参考文献 (35)第1章绪论1.1 研究背景与意义目前,汽车的发展已经到到前所未有的高度,未来的汽车将要向智能性、易操作性、舒适性发展。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计报告(2016/2017学年第1学期)题目:泊车管理系统专业光电信息科学与工程组长学号姓名B********葛子轶组员学号姓名B********黄亮亮B15030726崔郁璠指导教师付竟之指导单位南京邮电大学计算机软件学院日期2016年5月26日泊车管理系统一、课题内容和要求【问题描述】该系统要求对一个文件中所存储的汽车数据进行各种常规操作,如:查找、计费、显示等功能。
通过此课题,熟练掌握文件、数组的各种操作,以及一些算法思想的应用,实现一个简单的泊车管理系统。
【功能要求】(1) 管理人员根据口令进入系统;(2) 管理车位信息(车位编号,状态)和每小时的收费费率(大车7元/小时,小车5元/小时,由停车时选择录入);(3) 停车时,建立对象,录入汽车停泊信息(车牌号,停泊位置,停泊开始时间);停车位为第一个为空的位置,由程序查询自动给出车位号,如果车位已满要给出提示;(4) 取车时,需要根据车辆停泊时间自动计算费用(半小时内以半价计算,超出半小时按一小时计算)并显示在屏幕上。
(5)可以随时根据车牌查询是否入库。
(6)可以随时根据车位查询该位置上的相关信息。
(7)程序中用到的时间通过提取系统时间获得。
二、需求分析泊车管理系统的功能框架图如图1所示。
图1 泊车管理系统功能框架图(1)指令系统:管理员输入指令,如果指令正确,显示登录成功,进入车位信息界面;如果指令错误,显示密码错误,请重新输入密码。
(2)车位信息:显示当前车位情况与收费标准,根据车位状况,可以选择存车、取车或者退出系统。
(3)存车模块:①选择车的大小类型②当有空闲车位时,显示空闲车位编号,根据提示选择想要停入的车位,输入车牌号,即可成功停车。
③当没有空闲车位但有候车车位时,提示是否候车。
选择候车,输入车牌号,候车成功;选择离开,返回车位信息界面。
④当没有空闲车位也没有候车车位时,提示没有车位,返回车位信息界面。
(4)取车模块:输入车牌号,自动显示收费金额,返回车位信息界面。
三、概要设计1 主要结构体void order(); /*指令操作*/void end(); /*管理员退出*/void situation();/*车位信息*/void putcar(); /*存车*/void takecar(); /*取车*/int find()/*查询车牌号*/struct tm *local;/*读取系统时间*/time_t ;int car[13][6]/*存储车子的各种信息*/2 主要函数流程图(1)主函数:管理员输入密码进入车位信息界面,按1进入存车模块,按2进入取车模块,按3退出系统。
图2 主函数(2)存车函数:首先进行车大小类型判断,以决定结费类型。
然后输入车牌号,选择空闲车位停车,若无空闲车位,提示是否在候车位停车图3存车函数(3)取车函数:输入车牌号,判断有无此车牌,无则重新输入,有则按存车模块内记录的车大小类型自动结费图4 取车函数四、程序源代码#include<stdio.h>#include<time.h>#include<stdlib.h>#include<conio.h>#include<string.h>void order(); /*指令操作*/void end(); /*管理员退出*/void situation();/*车位信息*/void putcar(); /*存车*/void takecar(); /*取车*/struct tm *local;/*读取系统时间*/time_t t;struct tm *locall;time_t tt;struct tm *localll;time_t ttt;int sum=0;int cars[13][6];int x;/*车类型大小判断*/void main()/*页面*/{char choice;printf("**********欢迎进入泊车管理系统**********\n\n");printf("\t 请输入指令:");order();do{choice=getchar();switch(choice){ case'1':situation();break;case'2':end();}} while(1);}void order()/*指令操作模块*/{char pass[]="1234";/*设置的密码*/char str[5]={0},ch;int i=0,n=strlen(pass);while(n--){ch=getch(); //读取字符,不显示if(ch!='\n'){putchar('*');str[i++]=ch;}}getchar();str[strlen(pass)]='\0';if(strcmp(str,pass)==0){printf("\n\n登陆成功!\n");printf("\n进入系统请按1\n\n");printf("退出系统请按2 ");}else{printf("\n密码错误,请重新输入:");order();}}void situation()/* 车位信息模块*/{int i;char choice;printf("\n 收费标准\n");printf(" 大车停车不足30分钟的,需支付3.5元;超过30分钟的部分按7元/时收费\n 小车停车不足30分钟的,需支付2.5元;超过30分钟的部分按5元/小时收费");printf("\n\t 当前车位信息\n\n");printf("\t\t车位号\t\t车牌号\t\t时:分\n");for(i=0;i<10;i++){if(cars[i][0]==0)/*如果数组中第i个元素的值为零*/printf("\t\t%d\t没有车\n",i+1); /*输出第i+1个车位上没有车*/ printf("\t %d\t %d\t %d:%d\n",i+1,cars[i][1],cars[i][2],cars[i][3]);/*输出车位号、车牌号和时间*/ }printf("存车请按1\n\n");printf("取车请按2\n\n");printf("退出请按3 ");do{choice=getchar();switch(choice){case'1':putcar();break;case'2':takecar();break;case'3':end();break;}}while(1);}void putcar() /*存车模块*/{int i,j,n,c,m,b;/*i(车位),j(查询空闲车位),n(存车车牌号码),m(候车位),c(另一辆车牌号),b(选择车位号)*/char d;/*yes\no*/char d1;printf("请选择您的车类型:\n1大车2小车\n");scanf("%d",&x);if(sum>=13){printf("\t\t停车场拥挤,请选择其他停车场\n");situation();}elseif(sum>=10) /*如果停车位已停满*/{printf("\n\t\t现在没有多余的停车位!\n");printf("\n\t\t是否在候车位等待? <是请按y/否请按n> ");d1=getchar();d=getchar();switch(d){case 'y':/*选择候车*/{printf("\n\t\t请输入车牌号码: ");scanf("%d",&n);for(m=10;m<13;m++){if(cars[m][0]==0) /*第m+1号候车位空闲*/{cars[m][1]=n;/*存入车牌号*/cars[m][0]=1;break;}}printf("\t\t在候车位停车成功!\n");sum=sum+1;/*停车总数加1*/system(“cls”);situation();}break;case ‘n’:/*不候车*/{printf("\t\t谢谢使用此存车系统!\n");printf("\t\t祝您旅途愉快\n");printf("\t\t再见!\n");system(“cls”);situation();}default :{system(“cls”);situation();}}}else /*有停车位*/{printf("\n现在剩下");for(j=0;j<10;j++) /*for循环语句查询剩余的车位*/{ if(cars[j][0]==0)printf("%d,",j+1); /*车位号*/}printf("号车位!\n");printf("\n您想停在哪一个车位? ");scanf("%d",&b);/*输入车位号*/for(j=0;j<10;j++)while((cars[j][0]!=0&&b==j+1))/*如果选择有车的车位*/{printf("\n\t\t车位正在使用\n");printf("\n\t\t请重新选择!");scanf("%d",&b);}if(cars[j][0]==0&&b<=10)/*如果正确选择车位*/{printf("\n\t\t请输入您的车牌号码:");back0:scanf("%d",&c);for(i=0;i<10;i++){if(c==cars[i][1]){printf("\n该车牌号已存在,请核实后重新输入! ");goto back0;}}cars[b-1][0]=1;cars[b-1][1]=c;/*将输入的车牌号存入数组中*/printf("\n\t\t停车成功!\n ");t=time(NULL);local=localtime(&t);cars[b-1][2]=local->tm_hour;cars[b-1][3]=local->tm_min;sum=sum+1;system(“cls”);situation();}}}void takecar()/*取车模块*/{int i,m,t,a,b;/*i(车位号),t(计时),m(候车位号),a(取车车牌号)、b(车大小判断)*/double pay;int k=-1;printf("\n\t请输入您的车牌号码: ");back1:scanf("%d",&a);for(i=0;i<10;i++){if(cars[i][1]==a)/*如果输入的车牌号码相符*/{tt=time(NULL);locall=localtime(&tt);cars[i][4]=locall->tm_hour;cars[i][5]=locall->tm_min;k=i;/*取的是第K位的车*/cars[k][0]=0;break;}}if(k==-1){printf("此车牌号不存在,请重新输入车牌号: ");goto back1;}t=(cars[k][4]*60+cars[k][5])-(cars[k][2]*60+cars[k][3]);if(x==1&&(t<30||t==0))pay=3.5; /*如果泊车时间不足30分钟,需支付3.5元*/else if(t>30&&x==1)pay=(t-30)*7/60;/*如果泊车时间满30分钟需支付7元/小时*/else if(x==2&&(t<30||t==0))pay=2.5;/*如果泊车时间不足30分钟,需支付2.5元*/else if(t>30&&x==2)pay=(t-30)*5/60;/*如果泊车时间满30分钟需支付5元/小时*/printf("\n\n\t\t您需要支付:%.2f元\n",pay);printf("\t\t取车成功!\n");printf("\t\t再见!\n");sum=sum-1; /*存入的车辆总数减1*/for(m=10;m<13;m++){if(cars[m][0]==1) /*如果候车位上有车*/{cars[k][0]=1;cars[k][1]=cars[m][1]; /* 将候车位上的车移到刚开走车的车位上*/ttt=time(NULL);localll=localtime(&ttt);cars[k][2]=localll->tm_hour;cars[k][3]=localll->tm_min;for(m=10;m<12;m++){cars[m][0]=cars[m+1][0]; /* 将候车位上的车上移*/}cars[12][0]=0;}else /*候车位没有车*/cars[i][0]=0;situation();}}void end(){printf("\n==========感谢使用泊车管理系统!==========\n\n");printf("\t如需进入系统,请再次输入密码:");order();}五、测试数据及其结果分析图5图6图7 图8图9图101)指令系统测试输入密码1998 在屏幕上显示**** 密码输入错误输入密码1234 在屏幕上显示**** 密码正确登录成功!2)车位信息界面测试按1 选择存车按2 选择2号车位选择大小车类型提示“选择大小车类型1大车2小车”输入0525 2号车位显示车牌号0525 停车成功按2 选择2号车位显示车位被正在使用请重新选择!输入a123 停车成功但是车牌不显示为a123而显示-858993460当所有车位停满后继续按1选择存车提示“是否候车”按Y选择候车提示“输入车牌号:”“感谢使用”当有车位空闲时自动停入按2 选择取车提示“输入车牌号:”输入0525按选择的大小车类型自动结费取车成功车位信息界面显示2号车位没有车输入不存在车牌号1111 提示“此车牌号不存在重新输入车牌号:”3)退出系统测试按3退出系统显示:=======================感谢使用泊车管理系统======================如需进入系统,请再次输入密码:分析结果如下:1)指令模块:符合密码输入要求。