立体化停车场设计书

合集下载

停车场 几何设计 书籍

停车场 几何设计 书籍

停车场几何设计书籍
以下是几本关于停车场几何设计的推荐书籍:
1. 《停车系统设计与管理》这本书提供了停车场规划、设计和管理的详细信息。

它涵盖了停车场几何设计原理、停车位布局、通行道设计、出入口设计以及交通流模拟等方面的内容。

2. 《停车设施规划与设计》这本书介绍了停车场规划和设计的基本原则,包括停车需求预测、停车位尺寸和数量计算、停车设施布局等内容。

它还深入探讨了停车设施的可持续性和环境影响。

3. 《停车场工程设计手册》这本书提供了停车场工程设计的实用指南。

它涵盖了停车位尺寸和排列、交通流分析、排水系统设计、照明和标志系统设计等方面的内容,并提供了具体的设计示例和案例研究。

这些书籍可以帮助您了解停车场几何设计的原理和实践,并为您在实际项目中做出决策和设计提供指导。

请注意,在选择适合您需求的书籍时,可以参考其作者、出版年份和
读者评价等因素。

立体循环联合停车库设计书

立体循环联合停车库设计书

立体循环联合停车库设计书一、设计背景随着我国城镇居民生活水平的不断提高,家用汽车拥有量也日益增多,这一点在上海表现的尤为突出。

根据北京统计年鉴数据显示,2015年北京车辆拥有量达到500万辆,2016年上升为571.8 万辆。

但家用汽车在提高有车家庭生活质量的同时,也带来一系列问题,例如环保问题、交通秩序问题、停车问题等。

其中业主与业主之间、业主与物业服务企业之间因为住宅小区停车问题而产生的矛盾与纠纷也日益增多。

这些矛盾与纠纷必须依靠一定的制度加以消除或?解。

由于停车位库的不足,使得无论是老住宅区还是新建小区,因停车难、停车乱而引发的各类社会问题都非常突出,具体表现为:1.挤占居民活动场地。

在一些居民住宅区的楼旁、路边,甚至在绿化带或居民家的出入口都有车辆停放,严重影响居民的出行和生活。

为了抢占停车位发生争吵而影响邻里关系的现象也时有发生。

2.居民行路安全受到威胁。

狭窄的小区通道停满汽车,影响通行。

一些小区内车辆随意进出、无序停放,车行与人行通道混行交叉,特别是在小区医院、学校、幼儿园前的路段,老人、儿童无所适从,难以保证行人交通安全。

3.安全急救方面存在隐患。

由于车辆停放不当堵塞了消防、救护通道,发生紧急情况后消防和救护车辆无法及时到位,后果不堪设想。

4.影响工作效能。

一些上班族为抢停车位,工作不安心,提前、早退下班,影响工作。

二、创新构思为了解决停车难、停车乱等问题,本团队提出立体循环联合式车库的设计方案,此设计方案由三个模块组成,各部分的主要功能如下:(1)垂直循环车库模块电机带动链条,其上直接连接有底座,底座上安装向上移动便可取下的存车板,链条可带动存车板从地面带到最高处,并且可转一周。

首先用于小程度的存车,可以存3-4辆;存车较多时(4辆以上),还用于提高车的位置,方便转移到平台进行存放。

(2)转移装置用于将垂直循环车库的车转移到平台上,在程序的操控下可以进行叉爪的伸缩,来抓取存放车辆的存车板;抓取后可以升降来提升或降低车的位置;可以水平旋转来实现车的转移。

立体停车场项目建议书

立体停车场项目建议书

立体停车场项目建议书立体停车场项目建议书项目背景随着城市人口的增长和私家车数量的急剧增加,停车难成为了城市交通中的一个普遍问题。

传统的平面停车场不仅占地面积大,而且无法满足日益增长的停车需求。

为了解决这一问题,我们建议在城市中心建设一个立体停车场项目,提供可持续发展的停车解决方案。

项目概述立体停车场项目旨在利用垂直空间,最大限度地提高停车位的利用率。

该项目将采用先进的自动化技术,使整个停车过程更加方便和高效。

具体项目规划如下:1.项目位置立体停车场将选址在城市中心地带,靠近商业区和主要道路,以方便市民和游客停车。

2.项目容量根据市场调研数据,我们计划建设一个包含500个停车位的立体停车场,以满足日益增长的停车需求。

3.自动化停车系统该项目将配备自动化停车系统,包括车辆进入/出入口的自动识别和导航系统,以及智能停车位指引系统。

这将大大提升停车效率,减少司机寻找停车位的时间。

4.安全考虑立体停车场将配备先进的安全监控系统,包括高清摄像头、安全警报和消防设备。

这将确保停车场的安全性,并提供用户安心停车的环境。

5.可持续发展该项目将利用先进的能源管理技术,如太阳能发电和储能系统,以减少对传统能源的依赖。

我们还将设计绿化屋顶和雨水收集系统,为城市提供绿色生态环境。

项目收益立体停车场项目的建设将带来以下收益:1. 解决停车难问题,提供方便快捷的停车服务,改善交通拥堵状况。

2. 提高城市形象,展示城市的创新和现代化。

3. 创造就业机会,为当地经济发展做出贡献。

4. 保护环境,减少车辆在城市中的往返行驶,降低空气污染和能源消耗。

预算和时间安排立体停车场项目的预算和时间安排如下:预算:500万元人民币时间:预计项目建设周期为12个月,从项目批准开始计算。

风险分析立体停车场项目的建设过程中存在一定的风险和挑战,包括以下方面:1. 土地获取:获取合适的地块用于建设停车场可能面临土地拆迁和政府审批的风险。

2. 技术限制:采用先进的自动化停车技术需要解决系统的稳定性和可靠性问题。

垂直升降式立体车库的方案设计书

垂直升降式立体车库的方案设计书

系部:_机电工程系专业:_机电一体化技术班级:_机电0901班姓名:刘杨学号: 36指导教师:_王云霞设计题目:基于PLC控制的立体停车库设计摘要(中文)摘要:随着郑州市经济的快速发展,机动车辆越来越多,停车难成为城市发展中一个亟待解决的问题,立体停车库是城市停车的一种形式,具有占地面积小,空间利用率高等优势,在当前城市用地日益紧张的情况下,大量兴建立体停车库是解决长沙市停车难问题的有效措施之一。

本文浅谈机械式立体车库的特点及其在城市中的应用,并提出相关建议,以推动机械式立体车库在长沙的应用,有效缓解长沙市停车难的现状。

关键词:立体停车库;停车位;郑州摘要英文Abstract:Along with fast development of Changsha,the amount of motor vehicles is more and more. Parking becomes a problem need to be solved urgently. Solid garage is a form of parking in city, which holds small area and has high rate of space using. In the case of decreasing available city ground, building solid garage is one of efficient measures to solve the problem of parking.This paper introduces the character and applications in cities of mechanism solid garage and gives some correlative suggestions to promote application of solid garage in Changsha to relax the status of parking. Key words:solid garage; difficult to park; zhengzhou目录基于PLC控制的立体车库设计摘要:利用PLC来控制垂直升降式机械立体库,用来完成自动存取车辆的任务,存取的过程是全自动化。

石狮市立体停车场设计说明

石狮市立体停车场设计说明

石狮市城市智能立体停车场设计说明一、用地概况:项目用地位于石狮市八七路德辉广场东侧紧靠港南路,本项目主要是为德辉广场及石狮市周边配套智能立体停车场。

项目占地面积为535㎡.用地呈矩形,场地较为平整。

北临德辉路,西临德辉广场,东临港南路,南临德辉广场地上停车场;北退辉濠路红线20m,东退港南路红线10m,与德辉大厦最小距离为21。

7m.二、规划设计依据:1、国家现行法规、规范等。

2、石狮市城乡规划管理技术规定。

3、项目用地红线图,设计任务书。

4、石狮市城乡规划局下达的规划设计条件。

5、《升降横移类机械式停车设备》(JB/T8910-1999)6、《机械式停车设备类别.型式与基本参数》(JB/T8713-1998)6、《机械式停车设备通用安全要求》(GB17907—1999)等国家现行有关规范、规程、标准及相关法规条例。

三、规划定位:本工程周边城市资源丰富,交通条件便捷,环境优美,区位条件优越.且功能主要解决石狮市城市中心及德辉商场停车压力问题。

打造出一个智能化,设备先进化立体停车场。

四、总体规划1、规划格局:本项目综合考虑目前国内国际多数城市均已寸土寸金,交通压力正动态向静太转化,停车难已成为城市发展的一个公共性难题,立体停车场最大的优势就在于能够充分利用城市空间资源,把车辆进行立体停放,节约土地并最大化利用新型停车.固本项目以省钱。

省地.又环保的宗旨。

在地块的港南路与德辉路交叉路边上设计一幢,占地约500平方,长36。

25x宽13。

58,建筑高度为40.3米,停车数为400辆智能化停车场.这样有效的解决城市停车难减少城市停车压力问题。

2、交通组织:结合基地和周边环境的现状,主出入口设置在港南路中段,距八七路与辉濠路十字路口均在50米以上.则在八七路及辉濠路未设计机动车出入口主要是考虑距交叉路太近达不到规范要求,所以只选择在辉濠路边侧设计一个非机动车出入口.停车场地设计均考虑了人车分流.尽量减少两车交叉通行.3、建筑间距:本次规划满足所有规划退让要求,建筑间距满足消防间距要求.五、建筑设计1.平面设计为满足德辉广场和城市停车需求,本工程采用垂直式立体停车场,设计10座停车塔可停放400辆小车,其中SUV汽车占100辆。

立体停车位策划书3篇

立体停车位策划书3篇

立体停车位策划书3篇篇一《立体停车位策划书》一、项目背景随着城市汽车保有量的不断增加,停车难问题日益凸显。

传统的平面停车位已经无法满足日益增长的停车需求,建设立体停车位成为解决停车难题的有效途径。

本策划书旨在规划和设计一套高效、便捷、安全的立体停车位系统,以满足城市停车需求。

二、项目目标1. 提高停车位利用率,增加停车位数量,缓解停车压力。

2. 实现停车位的自动化管理,提高停车效率和服务质量。

3. 确保停车位的安全性和可靠性,保障车主的财产安全。

4. 设计合理的停车位布局,充分利用空间,提高土地利用率。

三、项目可行性分析1. 市场需求分析城市汽车保有量持续增长,停车需求巨大。

现有停车位资源紧张,无法满足需求。

人们对停车便利性和安全性的要求越来越高。

2. 技术可行性分析立体停车位技术已经成熟,具有较高的可靠性和安全性。

自动化管理系统能够实现停车位的高效管理和调度。

相关设备和技术供应商能够提供可靠的产品和服务。

3. 经济可行性分析建设立体停车位系统初期投资较大,但长期来看能够提高停车位利用率,增加收益。

自动化管理系统能够降低人工成本,提高运营效率。

可以通过收取停车费等方式实现盈利。

四、项目规划1. 停车位类型设计多层立体停车位:采用钢结构或混凝土结构,可根据场地条件和需求设计不同层数和停车位数量。

垂直升降式停车位:通过升降机构实现车辆的垂直升降,节省空间。

平面移动式停车位:车辆在停车位之间进行平面移动,提高停车位利用率。

2. 停车位布局规划根据场地形状和大小,合理规划停车位布局,确保停车位之间的通道畅通。

考虑车辆进出停车位的便利性,设置合理的出入口位置。

充分利用空间,设置绿化景观和配套设施。

3. 自动化管理系统设计车位引导系统:通过电子显示屏等设备引导车主找到空闲停车位。

车辆识别系统:识别车辆信息,实现自动计费和管理。

升降和移动控制系统:确保停车位的安全、准确运行。

监控系统:实时监控停车位的使用情况和设备运行状态,保障安全。

立体停车场项目建议书

立体停车场项目建议书

立体停车场项目建议书项目背景为了应对城市中日益增长的车辆数量和有限的停车资源,我们决定在市中心建设一个立体停车场项目。

该项目旨在提供便捷的停车服务,减轻城市交通负荷,提高车辆停放效率,并为市民提供更好的交通出行体验。

项目概述1. 项目目标提供足够的停车位数,解决停车资源短缺问题;利用立体停车技术,最大化利用有限的土地资源;提供高效的停车服务,缩短停车时间,减少交通拥堵;提高停车场的安全性,防范不法侵害。

2. 项目规模总面积:5000平方米;总停车位数:1000个;功能区划分:多层停车区、管理服务区、安全监控区。

技术方案1. 立体停车技术采用自动托盘式立体停车系统,实现车辆的垂直和水平移动,最大化停车位利用率;配备智能导航系统,提供导航和指引服务,减少停车时间;采用电子支付系统,方便市民缴纳停车费用。

2. 安全监控系统安装闭路电视监控系统,全天候监控停车场内的安全状况;配备入口处的车牌识别系统,确保车辆进出的安全和准确性;安装紧急报警设备,及时响应紧急事态。

3. 环保设计采用LED照明系统,节能环保,提高照明效果;安装太阳能光伏发电系统,部分满足停车场的电力需求;设置绿化带和雨水回收系统,减少热岛效应和雨水污染。

经济效益1. 收入来源停车费用收入;广告租赁收入;提供增值服务所得收入。

2. 成本收益分析项目总投资:1000万元;年经营成本:300万元;预测年均收入:500万元;预计投资回收期:5年。

社会效益1. 缓解城市交通拥堵,提高道路通行效率;2. 提供便利的停车服务,提高市民出行体验;3. 优化城市停车资源配置,提高土地利用效率;4. 促进城市可持续发展,降低交通排放量。

建设进度1. 前期准备工作立项和规划:2个月;土地选址和审批:3个月;技术方案和设计:4个月;资金筹集:2个月。

2. 建设阶段建设施工:12个月;设备安装调试:3个月;系统测试和验收:1个月。

3. 预计完工时间:总计27个月。

立体车库策划书3篇

立体车库策划书3篇

立体车库策划书3篇篇一《立体车库策划书协议书》甲方:[甲方公司名称]法定代表人:[甲方代表姓名]地址:[甲方公司地址]联系电话:[甲方联系电话]乙方:[乙方公司名称]法定代表人:[乙方代表姓名]地址:[乙方公司地址]联系电话:[乙方联系电话]一、项目名称立体车库项目策划书二、项目内容1. 乙方负责对甲方场地进行勘察和分析,制定合理的立体车库建设方案。

项目概述市场分析技术方案投资预算收益预测风险评估三、项目时间1. 本协议签订后,乙方应在[具体时间]内完成策划书的编制工作。

2. 如因不可抗力等特殊原因导致项目时间延长,双方应协商解决。

四、项目费用及支付方式1. 甲方应向乙方支付策划书编制费用,具体金额为人民币[具体金额]元。

2. 支付方式为:[支付方式,如一次性支付或分期支付等]。

3. 甲方应在收到策划书后的[具体时间]内支付费用。

五、双方权利和义务1. 甲方权利和义务提供场地相关资料,协助乙方进行勘察和分析。

对乙方的策划书进行审核和提出修改意见。

按照协议约定支付费用。

保守乙方的商业秘密。

2. 乙方权利和义务独立完成策划书的编制工作,保证策划书的质量和可行性。

按照甲方的要求进行修改和完善。

保守甲方的商业秘密。

如因乙方原因导致策划书存在质量问题,应负责免费修改。

六、违约责任1. 如甲方未按照协议约定支付费用,每逾期一天,应按照未支付金额的[具体比例]向乙方支付违约金。

2. 如乙方未按照协议约定时间完成策划书编制工作,每逾期一天,应按照策划书编制费用的[具体比例]向甲方支付违约金。

3. 如因一方违约给对方造成损失,违约方应承担相应的赔偿责任。

七、协议变更和解除1. 本协议的变更和解除,须经双方协商一致,并签订书面协议。

2. 如因不可抗力等特殊原因导致协议无法履行,双方应协商解决。

八、争议解决本协议的履行过程中如发生争议,双方应友好协商解决;协商不成的,任何一方均可向有管辖权的人民法院提起诉讼。

九、其他条款1. 本协议未尽事宜,双方可另行协商补充。

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

立体化停车场设计书1.1 课题任务设停车场有地下和地面两层,统一管理。

地下停车场采用单入口和单出口。

地上停车场采用南北方向的双口,每个口都有一个入口和出口。

停车顺序先地面,后地下。

地面入口处各有一个单车道的等候通道,并允许等候的车辆因急事从等候通道直接开走。

具体的设计任务如下:(1)采用栈、队列和有序表等数据结构。

(2)等候车辆的管理。

(3)地下、地上停车位的管理。

(4)停车计费功能。

1.2 课题原理针对本次课程设计的具体要求,我们设计了如下方案:停车场部选择栈作为基本数据结构,充分利用栈后进先出的数据结构特点,停车场外部的等候区域,针对其“先到先出”的工作特点,选择队列作为基本数据结构。

同时设计了计时计费功能,会员制度,针对不同型号,是否为会员的车辆进行分类收费。

2 需求分析2.1 课题调研为了完成本次课程设计任务,我们对校园周边的停车场运作状况进行了一系列的前期调研,包括停车场的管理系统的运行原理,收费标准等等,为本次课程设计任务的完成打下了良好的基础。

2.2 功能需求此次设计任务,要求停车场分为上下两层,上层为南北双向入口和出口,下层为单向入口出口,并要求我们设计等待区域。

对于收费标准,我们将不同型号的车分类收费,同时增加会员管理制度,对于多次在本停车场停车的会员给予优惠。

3 方案设计3.1 总体功能设计本次课程设计共分为四个主要功能:(1)进入停车场(2)离开停车场(3)查看停车场现状(4)计费功能针对进入停车场的功能,我们设计了“先地上,后地下”,的停放顺序,当地上南北双向任一停车场停满后,再向该停车场进车,会显示“停车场已满”等提示信息,并将车辆停入有剩余车位的其他停车场。

当所有停车场均无停车位时,到来车辆将会进入等待区域,一旦有车辆离开停车场,最先到达等待的区域的车辆将会进入停车场。

针对离开停车场的功能,可选择任一停车场出车,并会根据停车时长,车辆类型,以及是否为会员等信息给出本次停车的费用。

针对查看停车场现状的功能,将显示车牌号,何处停车等相关信息。

此外,我们还设计了计费功能,利用windows系统自带函数获取时间,免去了人工手动输入时间的繁琐步骤,同时,针对不同车型,是否享受会员优惠等差异制定了不同的收费标准,使停车场的运行更为规化,合理化。

3.2 数据结构设计本次课程设计主要使用了栈和队列两种数据结构,具体的设计方案和操作过程将在个人报告中给出,在此不再赘述。

3.3 函数原型设计int main(){system("color E1");cout<<endl;cout<<~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~ "<<endl;cout<<" <<<<<<< 进入停车场管理系统 >>>>>>> "<<endl;cout<<” ~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^ "<<endl;cout<<endl;cout<<"^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^"<<endl;cout<<endl;cout<<endl;cout<<endl;Car w;int t = 1;s1.sInitStack();s2.sInitStack();temt1.sInitStack();s3.InitStack(&s3);temp1.InitStack(&temp1);shortcut.InitQueue();while (t){cout<<" ================================================ "<<endl;cout<<" **** ◇1.进入停车场**** "<<endl;cout<<" **** ◇2.离开停车场 **** "<<endl;cout<<" **** ◇3.查看停车场现状**** "<<endl;cout<<" **** ◇0.退出**** "<<endl;cout<<" ================================================ "<<endl;cout<<endl;cout<<"★★★★★★★★请输入功能选项: ";cin>>t;switch (t){case 1: CarIn(&s3,&s1,&s2, &shortcut); break;case 2: CarOut(&s3,&temp1,&s1,&s2,&temt1 ,&shortcut); break;case 3: LookNow(&s3, &temp1, &s1, &s2, &temt1, &shortcut,&w); break;case 0: break;}}return 0;}3.4 用户界面设计运行时为DOS界面,通过增加字符画,更换背景颜色等方法增加界面的美观度。

4 方案实现4.1 开发环境与工具开发环境:VisualC++6.04.2 个人设计实现(按组员分小节)4.2.1 奕设计实现队列类的实现:typedef struct QueueNode //队列结构{Car data;struct QueueNode *next;}QueueNode;class Queue //定义队列类{public:QueueNode *front, *rear;Queue(){cout<<"构造函数"<<endl;};~Queue();int InitQueue();int DestroyQueue(Queue *Q);int EnterQueue(Queue *Q, Car c);int EmptyQueue(Queue*Q);int DeleteQueue(Queue *Q,Car *c);int QueueLength(Queue *Q);};Queue::~Queue(){cout<<"析构函数"<<endl;}int Queue::EmptyQueue(Queue *Q){if (front==rear){cout<<"队列为空"<<endl;return (TRUE);}elsecout<<"队列不为空"<<endl;return (FALSE);}int Queue::InitQueue(){//构造一个空队列front = (QueueNode *)malloc(sizeof(QueueNode)); if (front == NULL){return (FALSE);}else{rear = front;front->next = NULL;cout<<"构造了一个空队列"<<endl;return (TRUE);}}int Queue::DestroyQueue(Queue *Q){//销毁一个队列while (front){rear=front->next;free(front);front=rear;}cout<<"销毁队列成功"<<endl;return 1;}int Queue::EnterQueue(Queue*Q, Car c){rear->next = (QueueNode *)malloc(sizeof(QueueNode)); if (rear->next == NULL){cout<<"车辆入队失败"<<endl;return (FALSE);}else{rear = rear->next;rear->data = c;//rear->data.licence= rear->data.leaved;cout<<"车辆入队成功"<<count<<endl;rear->next = NULL;count++;return (TRUE);}}int Queue::DeleteQueue(Queue *Q,Car *c){//删除队列元素QueueNode *t;if (EmptyQueue( Q)){cout<<"要查找车辆不存在!"<<endl;return (FALSE);}else{t = front->next;if (rear == t)rear = front;(*c)= t->data;front->next = t->next;free(t);cout<<"车辆删除成功"<<endl;count--;return (TRUE);}}int Queue::QueueLength(Queue *Q){if (front!=rear){cout<<"此时队列长队为"<<count-1<<endl;return 1;}else return 0;}4.2.2 王卓君设计实现Time类:#include <stdio.h>#include <stdlib.h>#include <string.h>#include<iostream>#include <iomanip>#include <windows.h>#include <winbase.h>using namespace std;class Time //时间类{private:SYSTEMTIME LocalTime;int month;int day;int hour;int minuet;int second;public:Time(){GetLocalTime(&LocalTime); //取系统时间}void OutputTime(); //输出时间函数int getmonth() {return LocalTime.wMonth;}int getday() {return LocalTime.wDay;}int gethour() {return LocalTime.wHour;}int getminute() {return LocalTime.wMinute;}int getsecond() {return LocalTime.wSecond;}void save(){month=getmonth();day=getday();hour=gethour();minuet=getminute();second=getsecond();}~Time(){}};void Time::OutputTime() //输出当前系统时间{cout<<"当前时间为:"<<getmonth()<<"月"<<getday()<<"日"<<gethour()<<"时"<<getminute()<<"分"<<getsecond()<<"秒"<<endl;}//主函数void main(){Time t;t.OutputTime();cout<<"现在是"<<t.getmonth()<<"月"<<t.getday()<<"日"<<t.gethour()<<"时"<<t.getminute()<<"分"<<t.getsecond()<<"秒"<<endl;}Guest类:#include <stdio.h>#include <stdlib.h>#include <string.h>#include<iostream>#include <iomanip>#include <windows.h>#include <winbase.h>static int carfre[100]={0};//static int carid=0;using namespace std;class Time //时间类{private:SYSTEMTIME LocalTime;int month;int day;int hour;int minuet;int second;public:Time(){GetLocalTime(&LocalTime); //取系统时间}void OutputTime(); //输出时间函数int getmonth() {return LocalTime.wMonth;}int getday() {return LocalTime.wDay;}int gethour() {return LocalTime.wHour;}int getminute() {return LocalTime.wMinute;}int getsecond() {return LocalTime.wSecond;}void save(){month=getmonth();day=getday();hour=gethour();minuet=getminute();second=getsecond();}~Time(){}};void Time::OutputTime() //输出当前系统时间{cout<<"当前时间为:"<<getmonth()<<"月"<<getday()<<"日"<<gethour()<<"时"<<getminute()<<"分"<<endl;#define MAXSIZE 100 //链表的最大长度typedef struct{ //线性表的静态单链表的存储结构//char data[10];int data;int cur;}component,SLinkList[MAXSIZE];typedef struct Car{int leaved;char licence[LICENCESIZE];Time arrive;Time leave;}Car;class Guest:public Time //客户类,继承Time类{public:Time t1,t2;SLinkList carid; //该数组存车牌号//char e[10];int e;int j,k,v;int cartype; //车辆类型:1客车 2货车 3轿车 4越野车 5跑车float price;public:Guest(){for(int i=1,m=0;i<=100,m<100;i++,m++){carid[m].cur=i;//carid[i].data = "0000000";}//j=0;}~Guest(){}int LocateElem(SLinkList carid,int *e); //线性表定位函数,查找值为e的元素void saveid(Car *c,int v); //该函数储存会员的车牌号和停车次数float fee(Time t1,Time t2); //计算价格函float cutprice(float price,int v); //计算打折价格函数};int Guest::LocateElem(SLinkList carid,int *e) //在静态单链线性表中查找第1个值为i的元素若找到,则返回它在表中的位序,否则返回下一位{k=0;//while(k&&strcmp(carid[k].data,e)!=0) //在表中顺链查找while(carid[k].data != *e){k=carid[k].cur;if(!carid[k].data){j=k;k=0;return j+1;}}return k+1;}//LocateElemfloat Guest::fee(Time t1,Time t2) //计算普通价格{if(t1.getmonth()!=t2.getmonth())price=(t2.getmonth()-t1.getmonth())*3000;else if(t1.getday()!=t2.getday())price=(t2.getday()-t1.getday())*500;else{price=((t2.gethour()-t1.gethour())*3600+(t2.getsecond()-t1.getsecond())*60+ (t2.getsecond()-t1.getsecond()))*CHARGE;cout<<"您的车是什么类型?1客车 2货车 3轿车 4越野车 5跑车"<<endl;cin>>cartype;switch(cartype) //1客车 2货车 3轿车 4越野车 5跑车{case 1:case 2:price=price*2;break;case 3:price=price;break;case 4:price=price*1.5;break;case 5:price=price*1.2;break;}}return price;}float Guest::cutprice(float price,int v) //计算会员打折后的价格{//int i = LocateElem(carid,*e);//调用线性表定位函数if(carfre[v-1]>=100)price=price*0.55;else if(carfre[v-1]>=50)price=price*0.7;else if(carfre[v-1]>=20)price=price*0.85;elseprice=price*0.95;return price;}//LocateElem函数的测试函数void main(){Guest guest;int e;SLinkList carid;for(int n=0,x=1111;n<5,x<=5555;n++,x=x+1111){carid[n].data=x;}for(int i=1,m=0;i<=100,m<100;i++,m++){carid[m].cur=i;}for(int y=5;y<100;y++){carid[y].data=0;}cout<<"请输入要查询的值:";cin>>e;cout<<"结果是存在第"<<guest.LocateElem(carid,&e)<<"位"<<endl;}4.2.3 小玉设计实现void CarOut1(SqStack *parking1,SqStack *parking2,SqStack *temt, Queue *shortcutt) {int a;char licence[LICENCESIZE];Car c;Time t2;t2.save();Guest guest;t2.OutputTime();cout<<"★★★★★★★★请输入车牌号:";gets(licence);printf("★★★★★★★★南停车场出车请输入0,北停车场出车请输入1.\n");scanf("%d%*c", &a);if(!(a==1)){int i = 0;s1.sPop(&s1, &c);while (strcmp(c.licence, licence) != 0 && s1.top!=0){temt1.sPush(&temt1, c);s1.sPop(&s1, &c);i++;}c.leave=t2;int x;float price;cout<<"★★★★★★★★您是否是会员?1是 2否★★★"; cin>>x;if(x==1){price= guest.fee(c.arrive,c.leave);price= guest.cutprice();}elseprice=guest.fee(guest.t1,guest.t2);cout<<"★★★★★★★★该车应付"<<fabs(price)<<"元"<<endl;while (!s1.sEmpty(&s1)){temt1.sPop(&temt1, &c);s1.sPush(&s1, c);}if (!shortcut.EmptyQueue( &shortcut)){shortcut.DeleteQueue(&shortcut,& c);s1.sPush(&s1, c);}c.leave=t2;printf("\n");}else{s2.sPop(&s2,&c);while (strcmp(c.licence, licence) != 0){temt1.sPush(&temt1, c);s2.sPop(&s2, &c);}c.leave=t2;int x;float price;cout<<"★★★★★★★★您是否是会员?★1是☆2否★★★";cin>>x;if(x==1){price=guest.fee(c.arrive,c.leave);price=guest.cutprice();}elseprice=guest.fee(guest.t1,guest.t2);cout<<"★★★★★★★★该车应付"<<fabs(price)<<"元"<<endl;while (!temt1.sEmpty(&temt1)){temt1.sPop(&temt1, &c);s2.sPush(&s2, c);}if (!shortcut.EmptyQueue(&shortcut)){shortcut.DeleteQueue(&shortcut,& c);s2.sPush(&s2, c);}printf("\n");}}void CarOut2(Stack *park, Stack *temp,Queue *Q){char licence[LICENCESIZE];Car c;Time t2;t2.save();Guest guest;t2.OutputTime();cout<<"★★★★★★★★请输入车牌号:";gets(licence);s3.Pop(&s3, &c);while (strcmp(c.licence, licence) != 0){temp1.Push(&temp1, c);s3.Pop(&s3, &c);}c.leave=t2;int x;float price;cout<<"★★★★★★★★您是否是会员?★1是☆2否★★★";cin>>x;if(x==1){price=guest.fee(c.arrive,c.leave);price=guest.cutprice();}elseprice=guest.fee(guest.t1,guest.t2);cout<<"★★★★★★★★该车应付"<<fabs(price)<<"元"<<endl;while (!s3.EmptyStack(&temp1)){temp1.Pop(&temp1, &c);s3.Push(&s3, c);}if (!shortcut.EmptyQueue( Q)){shortcut.DeleteQueue(&shortcut, &c);s3.Push(&s3, c);}printf("\n");}void CarOut(Stack *park, Stack *temp,SqStack *parking1,SqStack *parking2,SqStack *temt ,Queue *shortcut){int P;cout<<"★★★★★★★★地上停车场出车请输入★1,地下停车场出车请输入★2☆☆☆";scanf("%d%*c", &P);switch(P){case 1:CarOut1(parking1, parking2,temt, shortcut );break;case 2:CarOut2(park, temp, shortcut);break;}}4.2.4 天舒设计实现typedef struct Car{int licence;}Car;class SqStack{public:Car data[STACKSIZE];int top;int base;SqStack();void InitSqStack(SqStack *s);int EmptySqStack(SqStack *s);int FullSqStack(SqStack *S);int SGetTop(SqStack *s,Car c);int SPush(SqStack *s,Car c);int SPop(SqStack *s,Car *c);};SqStack::SqStack(){}//析构函数int SqStack::EmptySqStack(SqStack *s){if (base==top){cout<<"地上停车场现无车,栈为空!"<<endl; return (TRUE);}else{cout<<"地上停车场现有车,栈不为空!"<<endl;return (FALSE);}}int SqStack::FullSqStack(SqStack *S){if (top == STACKSIZE - 1){cout<<"地上停车场车辆已满,栈满!"<<endl;return (TRUE);}else{cout<<"地上停车场还有空位,栈未满!"<<endl;return (FALSE);}int SqStack::SPush(SqStack *S, Car c){if (FullSqStack(S))return (FALSE);else{top++;data[top] = c;cout<<"车辆已入栈,成功停入地上停车场!"<<endl;return (TRUE);}}int SqStack::SPop(SqStack *S, Car *c){if (EmptySqStack(S))return (FALSE);else{(*c) = data[top];top--;cout<<"车辆已出栈,离开地上停车场,欢迎下次光临!"<<endl; return (TRUE);}}int SqStack::SGetTop(SqStack *s,Car c){if(top==base)return FALSE;elsec=data[top-1];top--;return (TRUE);}//若栈非空,则返回s的栈顶元素;否则返回ERRORvoid SqStack::InitSqStack(SqStack *s){top=0;base=0;cout<<"现构造一个空栈!"<<endl;}//置栈一个空栈Sclass Stackpublic:Car data[STACKSIZE];int top;int base;Stack();void InitStack(Stack *s);int EmptyStack(Stack *s);int FullStack(Stack *S);int GetTop(Stack *s,Car c);int Push(Stack *s,Car c);int Pop(Stack *s,Car *c);};Stack::Stack(){cout<<"现已构造一个栈类"<<endl;}//析构函数int Stack::EmptyStack(Stack *S){if (base==top){cout<<"地下停车场现无车,栈为空!"<<endl; return (TRUE);}else{cout<<"地下停车场现有车,栈不为空!"<<endl;return (FALSE);}}int Stack::FullStack(Stack *S){if (top == STACKSIZE - 1){cout<<"地下停车场车辆已满,栈满!"<<endl;return (TRUE);}else{cout<<"地下停车场还有空位,栈未满!"<<endl;return (FALSE);}}int Stack::Push(Stack *S, Car c){if (FullStack(S))return (FALSE);else{top++;data[top] = c;cout<<"车辆已入栈,成功停入地下停车场!"<<endl;return (TRUE);}}int Stack::Pop(Stack *S, Car *c){if (EmptyStack(S))return (FALSE);else{(*c) = data[top];top--;cout<<"车辆已出栈,离开地下停车场,欢迎下次光临!"<<endl;return (TRUE);}}int Stack::GetTop(Stack *s,Car c){if(top==base)return FALSE;elsec=data[top-1];top--;return (TRUE);}//若栈非空,则返回s的栈顶元素;否则返回ERRORvoid Stack::InitStack(Stack *s){top=0;base=0;cout<<"现构造一个空栈!"<<endl;}//置栈一个空栈S4.2.5 嘉文设计实现void CarIn(Stack *park, SqStack *parking1,SqStack *parking2,Queue *shortcuttt)int q=1;Car c;Time t1;Guest guest;t1.OutputTime();t1.save();c.arrive=t1;cout<<endl;guest.saveid(&c);if((s3.FullStack(&s3)==1)&&(s1.sFullStack(&s1)==1)&&(s2.sFullStack(&s2)==1)){cout<<"★★★★★★★★停车场已满,新来的车在过道等待!"<<endl;shortcut.EnterQueue( &shortcut, c);}else{if((s1.sFullStack(&s1)==1)&&(s2.sFullStack(&s2)==1)){cout<<"★★★★★★★★地上停车场已满,请停入地下停车场"<<endl;cout<<"★★★★★★★★车已在停车场停车,现在开始计时☆☆☆";cout<<endl;s3.Push(&s3, c);system("pause");}else{if((s1.sFullStack(&s1)==0)&&(s2.sFullStack(&s2)==0)){cout<<"★★★★★★★★南北停车场均有车位★★★★★★★★"<<endl;cout<<endl;cout<<"★★★★★★★★请选择车辆进口编号,★南:1,☆北:2"<<endl;cout<<"★★★★★★★★请输入入口方向:";scanf("%d%*c", &q);switch(q){case 1:s1.sPush(&s1,c);break;case 2:s2.sPush(&s2, c);break;}}else if((s1.sFullStack(& s1)==0)&&(s2.sFullStack(& s2)==1)){cout<<"★★★★★★★★北入口已满,车辆进入南入口"<<endl;s1.sPush(&s1,c);system("pause");}else if((s1.sFullStack(parking1)==1)&&(s2.sFullStack(parking2)==0)){cout<<"★★★★★★★★南入口已满,车辆进入北入口"<<endl;s2.sPush(&s2, c);system("pause");}}cout<<"★★★★★★★★车已在停车场停车,现在开始计时!"<<endl;cout<<"★★★★★★★★请按任意键继续操作!★★★★★★★★";getchar();system("cls");system("color b0");}printf("\n");}void LookNow(Stack *park, Stack *temp,SqStack *parking1,SqStack *parking2,SqStack *temt,Queue *shortcut,Car *c){QueueNode *p;while (!s1.sEmpty(&s1)){s1.sPop(&s1,c);temt1.sPush(&temt1,* c);}while (!temt1.sEmpty(&temt1)){temt1.sPop(&temt1, c);cout<<"★★★★★★★★车辆停车信息 "<<c->licence<<":地上南停车场停车★★★★"<<endl;s1.sPush(&s1,* c);}while (!s2.sEmpty(&s2)){s2.sPop(&temt1, c);temt1.sPush(&temt1, *c);}while (!temt1.sEmpty(&temt1)){temt1.sPop(&temt1, c);cout<<"★★★★★★★★车辆停车信息 "<<c->licence<<":地上北停车场停车★★★★"<<endl;s2.sPush(&s2, *c);}while (!s3.EmptyStack(&s3)){s3.Pop(&s3, c);temp1.Push(&temp1, *c);}while (!temp1.EmptyStack(&temp1)){temp1.Pop(&temp1, c);cout<<"★★★★★★★★车辆停车信息 "<<c->licence<<":地下停车场停车★★★★"<<endl;s3.Push(&s3, *c);}p = shortcut->front->next;while (p != NULL){cout<<"★★★★★★★★车辆停车信息"<<c->licence<<":排队等待中..."<<endl;p = p->next;}printf("\n");}int main(){system("color E1");cout<<endl;cout<<"~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~ "<<endl;cout<<" <<<<<<< 进入停车场管理系统 >>>>>>> "<<endl;cout<<^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^ "<<endl;cout<<endl;cout<<"~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^"<<end l;cout<<endl;cout<<endl;cout<<endl;Car w;int t = 1;s1.sInitStack();s2.sInitStack();temt1.sInitStack();s3.InitStack(&s3);temp1.InitStack(&temp1);shortcut.InitQueue();while (t){cout<<" ================================================ "<<endl;cout<<" **** ◇1.进入停车场**** "<<endl;cout<<" **** ◇2.离开停车场 **** "<<endl;cout<<" **** ◇3.查看停车场现状**** "<<endl;cout<<" **** ◇0.退出**** "<<endl;cout<<" ================================================ "<<endl;cout<<endl;cout<<"★★★★★★★★请输入功能选项: ";cin>>t;switch (t){case 1: CarIn(&s3,&s1,&s2, &shortcut); break;case 2: CarOut(&s3,&temp1,&s1,&s2,&temt1 ,&shortcut); break;case 3: LookNow(&s3, &temp1, &s1, &s2, &temt1, &shortcut,&w); break;case 0: break;}}return 0;}5 测试与调试5.1 个人测试(按组员分小节)5.1.1 奕测试#include <stdio.h>#include <stdlib.h>#include <string.h>#include<iostream>#include <iomanip>#include <windows.h>#include <winbase.h>#include <math.h>#define STACKSIZE 3 //设置地下停车场容量#define LICENCESIZE 10//设置车牌号static int count=1;#define TRUE 1#define FALSE 0using namespace std;typedef struct Car{int leaved;char licence[LICENCESIZE];}Car;typedef struct QueueNode //队列结构{Car data;struct QueueNode *next;}QueueNode;class Queue //定义队列类{public:QueueNode *front, *rear;Queue(){cout<<"构造函数"<<endl;};~Queue();int InitQueue();int DestroyQueue(Queue *Q);int EnterQueue(Queue *Q, Car c);int EmptyQueue(Queue*Q);int DeleteQueue(Queue *Q,Car *c);int QueueLength(Queue *Q);};Queue::~Queue(){cout<<"析构函数"<<endl;} int Queue::EmptyQueue(Queue *Q){if (front==rear){cout<<"队列为空"<<endl;return (TRUE);}elsecout<<"队列不为空"<<endl;return (FALSE);}int Queue::InitQueue(){//构造一个空队列front = (QueueNode *)malloc(sizeof(QueueNode));if (front == NULL){return (FALSE);}else{rear = front;front->next = NULL;cout<<"构造了一个空队列"<<endl;return (TRUE);}}int Queue::DestroyQueue(Queue *Q){//销毁一个队列while (front){rear=front->next;free(front);front=rear;}cout<<"销毁队列成功"<<endl;return 1;}int Queue::EnterQueue(Queue*Q, Car c){rear->next = (QueueNode *)malloc(sizeof(QueueNode)); if (rear->next == NULL){cout<<"车辆入队失败"<<endl;return (FALSE);}else{rear = rear->next;rear->data = c;//rear->data.licence= rear->data.leaved; cout<<"车辆入队成功"<<count<<endl;rear->next = NULL;count++;return (TRUE);}}int Queue::DeleteQueue(Queue *Q,Car *c){//删除队列元素QueueNode *t;if (EmptyQueue( Q)){cout<<"要查找车辆不存在!"<<endl;return (FALSE);}else{t = front->next;if (rear == t)rear = front;(*c)= t->data;front->next = t->next;free(t);cout<<"车辆删除成功"<<endl;count--;return (TRUE);}}int Queue::QueueLength(Queue *Q){if (front!=rear){cout<<"此时队列长队为"<<count-1<<endl;return 1;}else return 0;}int main(){Car c;Car c1;Car c2;Queue::Queue();q.InitQueue();q.EnterQueue (&q, c);q.EnterQueue(&q,c1);q.EnterQueue(&q,c2);q.QueueLength(&q);q.DeleteQueue(&q,&c);q.QueueLength(&q);q.EmptyQueue(&q);q.DestroyQueue(&q);cout<<"程序测试结束,按任意键结束!"<<endl; return 0;}5.1.2 王卓君测试获取系统时间功能测试:void main(){t.OutputTime();cout<<"现在是"<<t.getmonth()<<"月"<<t.getday()<<"日"<<t.gethour()<<"时"<<t.getminute()<<"分"<<t.getsecond()<<"秒"<<endl;}LocateElem函数的测试函数void main(){Guest guest;int e;SLinkList carid;for(int n=0,x=1111;n<5,x<=5555;n++,x=x+1111){carid[n].data=x;}for(int i=1,m=0;i<=100,m<100;i++,m++){carid[m].cur=i;}for(int y=5;y<100;y++){carid[y].data=0;}cout<<"请输入要查询的值:";cin>>e;cout<<"结果是存在第"<<guest.LocateElem(carid,&e)<<"位"<<endl; }saveid函数的测试函数void main(){Guest guest;Car car;SLinkList carid;for(int n=0,x=1111;n<5,x<=5555;n++,x=x+1111){carid[n].data=x;}for(int i=1,m=0;i<=100,m<100;i++,m++){carid[m].cur=i;}for(int y=5;y<100;y++){carid[y].data=0;}for(int w=0;w<5;w++){carfre[w]=35;}int v,id;cout<<"请输入车牌号:"<<endl;cin>>id;v=guest.LocateElem(carid,&id);guest.saveid(&car,v);}price函数的测试函数void main(){Time t1;t1.save();//t2.save();Guest guest;SLinkList carid;for(int n=0,x=1111;n<5,x<=5555;n++,x=x+1111) {carid[n].data=x;}for(int i=1,m=0;i<=100,m<100;i++,m++){carid[m].cur=i;}for(int y=5;y<100;y++){carid[y].data=0;}for(int w=0;w<5;w++){carfre[w]=35;}float pri;int id,v;cout<<"请输入车牌号:"<<endl;cin>>id;v=guest.LocateElem(carid,&id);cout<<"价格测试:"<<endl;Time t2;t2.save();pri=guest.fee(t1,t2);pri=guest.cutprice(pri,v);cout<<"应收费"<<pri<<"元"<<endl;}5.1.3 天舒测试测试函数如下:void main(){ int n;cout<<"欢迎进入停车场栈测试~ 请选择停车地点地上停车场:1;地下停车场:2;"<<endl;cin>>n;if(n=1){Car c1;SqStack s1;cout<<"欢迎进入地上停车场栈测试~"<<endl;system("pause");s1.InitSqStack(&s1);s1.EmptySqStack( &s1);s1.FullSqStack(&s1);printf("请输入车辆车牌号:");cin>>c1.licence;s1.SPush(&s1,c1);cout<<"成功入栈车辆车牌号为:"<<c1.licence<<endl;s1.SPop(&s1, &c1);}else{Car c;Stack s3;cout<<"欢迎进入地下停车场栈测试~"<<endl;system("pause");s3.InitStack(&s3);s3.EmptyStack( &s3);s3.FullStack(&s3);printf("请输入车辆车牌号:");cin>>c.licence;s3.Push(&s3,c);cout<<"成功入栈车辆车牌号为:"<<c.licence<<endl;s3.Pop(&s3, &c);system("pause");}}5.1.4 小玉测试5.1.5 嘉文测试小玉,嘉文设计部分的测试将在系统运行中给出,在此不再赘述。

相关文档
最新文档