课程设计报告(停车场)final(DOC)
停车场课程设计范文
停车场课程设计范文一、教学目标本课程旨在通过学习停车场相关知识,使学生掌握停车场的基本概念、设计原则和规划方法。
在知识目标方面,学生应了解停车场的分类、功能、组成以及相关设计规范。
技能目标方面,学生应具备停车场设计的基本能力,能够根据实际需求进行简单的停车场设计。
情感态度价值观目标方面,学生应认识到停车场在城市交通中的重要性,培养对城市交通规划的责任感和使命感。
二、教学内容本课程的教学内容主要包括停车场的基本概念、分类、功能、组成、设计原则和规划方法。
首先,介绍停车场的定义、发展历程和在我国的应用现状。
其次,讲解停车场的分类,包括地下停车场、地面停车场和立体停车场等。
然后,阐述停车场的基本功能,如停车、取车、交通等。
接下来,介绍停车场的组成部分,如停车位、通道、出入口等。
然后,讲解停车场设计的原则,如安全性、便捷性、经济性等。
最后,讲解停车场规划的方法,如需求分析、布局设计、交通等。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法。
首先,运用讲授法,为学生系统地传授停车场相关知识。
其次,采用案例分析法,通过分析实际案例,使学生更好地理解和掌握停车场设计的原则和方法。
此外,还将运用讨论法,引导学生积极参与课堂讨论,培养学生的思考能力和团队协作精神。
最后,利用实验法,让学生亲身参与停车场设计的实践过程,提高学生的实际操作能力。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将选择和准备以下教学资源:教材《停车场设计》、参考书《城市交通规划》、多媒体资料(包括停车场设计的相关视频、图片等)、实验设备(如停车场模型、CAD软件等)。
这些教学资源将丰富学生的学习体验,帮助学生更好地理解和掌握停车场设计的相关知识。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。
平时表现主要考察学生的课堂参与度、提问回答和团队协作等方面,占总评的30%。
作业分为课堂练习和课后作业,主要考察学生对停车场设计知识的掌握和应用能力,占总评的30%。
EDA课程设计报告(停车场管理)甄选范文
EDA课程设计报告(停车场管理)长沙学院课程设计说明书题目模拟停车场管理系统的设计系(部)电子与通信工程系专业(班级)姓名学号指导教师刘辉、龙英、谢明华起止日期2010.5.31-2010.6.11I / 27 doc可编辑EDA技术课程设计任务书系(部):电子与通信工程系专业:电子信息工程指导教师:刘辉、龙英、谢明华长沙学院课程设计鉴定表目录1.设计思路分析 (1)1.1题目要求 (1)1.2设计思路 (1)2.系统结构设计及分析 (2)2.1分频模块 (4)2.2消抖模块 (4)2.3车牌显示模块 (7)2.4计时模块 (11)2.5费率器模块 (12)2.6滚动模块 (13)2.7译码模块 (17)3.使用说明 (17)4.心得与体会 (18)参考文献 (18)1.设计思路分析1.1题目要求实现一个模拟停车场管理系统,使用8位拨码开关表示车号,按键A按下一次表示该车进入停车场,同时数码管显示该车车号信息(3个数码管显示拨码开关对应的十进制数)及收费费率(位方便模拟,按1元/分钟);按键B按下一次表示该车从停车场出来,该车出来时用数码管显示的信息包括:3位车号、停车时间(2位小时数、两位分钟数)、3位停车费用。
(数码管位数不够可采用滚动显示的方式)1.2设计思路分析题目要求,宜采用“模块法”的设计方法。
(模块法——先用VHDL语言设计各个模块,将这些模块生成图形文件,在顶层文件中再调用这些图形。
)具体思路:当一辆车进入停车场,按键A被按下:计时器开始计时,同时把该车的车牌号和费率送入数码管显示(3个数码管显示拨码开关对应的十进制数:采用BCD码转换的方法;费率显示采用输入设置,可以通过按键+1的方式设置从1~99的费率)。
当车驶出停车场时,按键B被按下,此时计时器停止计时,并把计时时间送入数码管显示(2位小时数、两位分钟数),同时显示车牌号信息及停车费用(三位显示:停车费用=停车时间×费率)。
停车场管理课程设计报告
《停车场管理系统》专业:班级:姓名:学号:指导教师:完成日期:2008年6月25日数据结构课程设计任务书一、开设数据结构课程设计的目的《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能,特开设此课程设计。
二、数据结构课程设计的具体内容停车场管理系统[问题描述]车辆的信息包括:车牌号、汽车到达/离去标志、到达/离去时刻等。
利用栈结构模拟停车场,用队列结构模拟等待的便道。
[基本要求]●收费:根据车辆到达和离开停车场的时间计时收费。
●查询:通过车牌号能查到该车辆在停车场或便道中的位置●调度:当有车辆从停车场离开时,等待的车辆按顺序进入停车场停放。
三、课程设计要求1、独立思考,按要求认真完成本次课程设计。
2、按照课程设计的具体要求完成几个内容。
a) 需求分析:叙述课题的功能要求;b ) 概要设计:详细说明每个部分的算法设计及过程,可以辅助流程图;,c)详细设计:算法实现的源程序(设计的具体语言不限制);d)调试分析:测试数据,时间复杂度分析,和每个模块设计和调试时存在问题的思考。
3、报告书提交(报告书的书写格式参照以下条目)●认真完成报告书,使用B5纸张,正文用小四字体, 打印。
首页为封面,要求写清楚标题、班级、姓名、指导教师、完成日期。
第二页为本任务书。
第三页为教师评语。
第四页为目录。
从第五页开始,为报告书正文。
●报告书正文具体内容包括:算法的简介、说明及分析;整个程序的功能设计与分析;程序测试与分析,附程序清单。
四、完成期限二○○八年六月二十三日~二○○七年六月二十七日指导教师:黎娅机电信息工程系二○○八年六月二十日教师评语:目录任务书 (2)教师评语 (3)目录 (4)一、数据结构内容简介 (5)二、需求分析 (5)三、算法设计 (6)1.概要设计 (7)2.详细设计 (9)四、程序功能分析 (13).源程序代码 (15)五、总结 (20)六、参考文献 (21)一、数据结构内容简介数据结构指的是数据的逻辑结构和存储结构,算法就是对数据运算的描述。
课程设计报告-- 停车场管理系统
课程设计说明书专业:xxxxx课程名称: 数据结构课程设计班级: xxxx姓名: xxx 学号: xxxxxx设计题目: 停车场管理系统设计时间: 2012-2-27 至2012-3-9评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____________评阅教师:____________一、设计题目与要求停车场管理系统设停车场只有一个可停放几辆车的狭长通道,且只有一个大门可供汽车进出,汽车在停车场内按车辆的先后顺序依次排列,若车站内已停满汽车,则后来的汽车只能在门外的通道上等停,一旦停车场内有车开走,则排在同道上的第一辆车即可进入,当停车内某辆车要离开时,由于停车场是狭长的通道,在它之后开入的车辆必须先退出车站不能从便道上开走,试设计这样一个停车场模拟管理程序。
二、概要设计程序包括以下几个模块(包括其功能及程序实现思路与方法)1、成批车辆入站时信息的记录。
该功能则是将成批车辆入站,并且记录下信息。
已知车场为一个开口的狭长通道,所以信息采用栈来记录。
因为针对的是成批车辆,则在输入信息的时候采用循环输入,以输入特殊字符为结束符号。
在程序设计的时候,除了要完成循环,还要完成特殊字符的判断及车场是否已经停满的判断。
2、单辆车辆入站时车站的记录。
单辆车辆入站的实现思路与方法与成批入站的相差无几,主要区别在于车辆车不需要循环。
3、在车站已满的情况下,将车辆停在通道里。
车站有固定容量,当车站停满车后,车辆先放置在通道中。
通道是一个两头开口的狭长通道,而且当车站有空位时,通道中第一辆车要进入车站,则是先进先出的原则,所以采用队列的形式记录通道内车辆的信息。
(完整word版)课程设计-停车场管理系统
学号1011200142数据结构课程设计设计说明书停车场管理系统起止日期:年月至年月日学生姓名班级成绩指导教师(签字)年月日停车场管理系统一、引言 (3)二、系统总体设计 (3)1、设计思路 (3)2、系统总体框架图 (5)3、系统流程图 (5)三、详细设计 (7)1、车辆停车函数及流程图 (7)2、车辆离开函数及流程图 (8)3、列表显示车场信息函数及流程图 (9)4、列表显示便道信息 (10)5列表显示菜单函数及流程图 (11)四、总结 (12)参考文献 (12)五、附录 (13)一、引言随着现代化信息技术的发展,人民生活水平快速提高,汽车的数量也飞速增长,于此同时,停车问题越来越受人们的关注,为了使停车场有效管理,停车场管理的信息化成为必然。
我们可以利用所学的知识,编写一个停车场管理系统,以提高管理的效率,提升停车场的竞争力。
本次课程设计,我运用C语言编写停车场管理系统,主要实现汽车停车,离开,收费,停车信息查询,显示等功能,主要实现方式是用栈和队列.下面对栈和队列进行一下简单介绍.栈(stack)是一种仅允许在一端进行插入和删除运算的线性表。
栈中允许插入和删除的那一端,称为栈顶(top)。
栈顶的第一个元素称为栈顶元素。
栈中不可以插入和删除的那一端称为栈底.在一个栈中插入元素,即把新元素放到当前栈顶元素的上面,使其称为新的栈顶元素,即进栈(push)。
从一个栈中删除一个元素,即把栈顶元素删除掉,使其下面的元素成为新的栈顶元素,称为出栈(pop)。
栈遵循后进先出的原则,即后进栈的元素必先出栈.其中顺序栈是利用一组地址连续的存储单元依次存放从栈底到栈顶的元素。
在C 语言中,可以用一维数组描述顺序栈中数据元素的存储区域,并预设一个数组的最大空间。
栈底设置在0下标端,栈顶随着插入和删除元素而变化,可以用一个整形变量top来指示栈顶的位置.队列是一种限定在表的一端进行插人而另一端进行删除的线性表,与栈相反,队列遵循先进先出的原则.允许删除的一端,称为队头(front)。
停车场管理课程设计报告
停车场管理一、课程设计题目内容(1)问题描述:设停车场是一个可停放n 辆汽车的狭长通道,且只有一个大门可供汽车进出。
汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列 (大门在最南端,最先到达的第一辆车停放在车场的最北端) ,若车场内已停满n 辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。
试为停车场编制按上述要求进行管理的模拟程序。
基本要求:以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。
每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。
对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用 (在便道上停留的时间不收费)。
栈以顺序结构实现,队列以链表结构实现。
测试数据:设n=2,输入数据为:( ‘A',1,5),( ‘A',2,10),( ‘D',1,15),( ‘A',3,20),( ‘A',4,25),(‘A ,5,30),( ‘ D ,2,35),( ‘ D ,4,40),( ‘ E' ,0,0)。
其中:‘A'表示到达(Arrival ); ‘ D'表示(Departure ); ‘ E'表示输入结束(End)。
实现提示:需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实现。
输入数据按到达或离去的时刻有序。
栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。
、本人完成的工作1) 定义车辆信息结构体,包括汽车的车牌号码、到达停车场时间、离开停车场时间;2) 定义顺序堆栈的结构体,用于模拟停车场;3) 定义链式队列的结构体,用于模拟车场外的停车场;4) 定义堆栈和队列的初始化函数;5) 设计汽车进入停车场、离开停车场、离开收费信息和汽车停靠情况查询等主要函数;6) 主函数:设计停车场管理菜单,通过菜单选项,调用相关的函数来实现停车场汽车到达登记、汽车离开停车场、汽车停靠查询和退出程序的操作,完成模拟汽车停车场的整个过程。
停车场管理问题课程设计
停车场管理问题课程设计一、教学目标本课程旨在通过停车场管理问题的研究,让学生掌握城市规划与管理的基本知识,提高解决实际问题的能力。
具体目标如下:1.知识目标:学生能理解停车场在城市交通系统中的作用,掌握停车场规划与管理的基本原理和方法。
2.技能目标:学生能运用所学知识对停车场管理问题进行分析,并提出合理的解决方案。
3.情感态度价值观目标:学生能认识到停车场管理问题对城市交通和环境的影响,培养关爱城市、积极参与城市管理的情感态度。
二、教学内容本课程主要内容包括停车场管理问题的背景、停车场规划与管理的基本原理、停车场管理方法的实践应用等。
具体安排如下:1.停车场管理问题的背景:介绍停车场在城市交通系统中的作用,以及停车场管理问题在现实生活中的体现。
2.停车场规划与管理的基本原理:讲解停车场规划与管理的基本概念、原则和方法。
3.停车场管理方法的实践应用:分析各种停车场管理方法的优缺点,以及如何在实际中运用这些方法。
三、教学方法为提高学生的学习兴趣和主动性,本课程采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
具体运用如下:1.讲授法:用于讲解停车场管理问题的背景、基本原理和方法。
2.讨论法:学生针对实际案例进行讨论,培养学生的分析问题和解决问题的能力。
3.案例分析法:分析典型的停车场管理案例,让学生了解停车场管理问题的实际情况。
4.实验法:安排学生进行停车场管理模拟实验,提高学生的实践操作能力。
四、教学资源为支持本课程的教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统、全面的知识体系。
2.参考书:提供相关的参考书籍,拓展学生的知识视野。
3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高学生的学习兴趣。
4.实验设备:准备停车场管理模拟实验所需的设备,让学生亲身体验停车场管理的过程。
五、教学评估为全面、客观地评估学生在停车场管理问题课程中的学习成果,我们将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解能力。
课程设计报告 停车场
淮阴工学院数据结构课程设计报告选题名称:停车场管理(1)系(院):计算机工程系专业:计算机科学与技术班级:网络1071姓名:陈绍平学号: 1071304104 指导教师:张亚红张勇军学年学期:2008 ~ 2009 学年第 2 学期2009 年 6 月20 日设计任务书摘要随着私家车的愈来愈多,在各个公共场所的各式各样的停车场也应运而生,在这样的情况下,停车场的管理就显得尤为重要。
本文介绍运用数据结构中所学的链表、栈等知识,在Visual C++6.0环境下开发一个行之有效的停车场管理系统,要求实现的功能的有:车辆到达是的信息登记,车辆离开时的信息记录及停车费用的计算和停车场及便道的车辆信息的显示等功能。
关键词:数据结构;停车场管理;栈;链表;1. 需求分析 (1)1.1课程设计的目的 (1)1.2基本要求 (1)1.3课程设计的任务 (1)1.4软件运行和开发工具 (1)1.5课程设计的思想 (1)2. 概要设计 (1)2.1程序整体描述 (1)2.2结构描述 (1)2.3 栈描述 (3)2.4函数描述 (3)2.5数据结构与算法描述 (3)2.5功能模块 (4)3. 详细设计和实现 (4)3.1车辆到达登记 (4)3.2车辆离开记录 (5)3.3车辆信息显示 (8)4. 调试及操作说明 (9)总结 (12)致谢 (13)参考文献 (14)1.需求分析1.1课程设计的目的运用数据结构编写一个C++程序,实现对停车场的管理。
主要包括:车辆到达是的信息登记,车辆离开时的信息记录及停车费用的计算和停车场及便道的车辆信息的显示等功能。
1.2基本要求设计好算法,使该系统能实现对停车场有效的进行管理。
1.3课程设计的任务该系统主要实现以下几个功能:a)车辆到达信息登记:包括车牌号,到达时间,在停车场停放的位置等;b)车辆离开记录:包括离开时间,停车费用等;c)信息显示:显示停车场内和便到内的汽车到达时机急位置等基本信息;1.4软件运行和开发工具1.Windows2000以上操作系统2.Visual C++6.0开发环境1.5课程设计的思想该程序应用栈来完成的汽车进停车场和出停车场就是一个数据进栈和出栈的过程。
停车场管理系统课程设计报告 最终版
目录1 实习目的 (1)2 问题描述 (1)3.1 设计基本要求 (1)3.2 停车场管理系统的主要功能 (2)4概要设计 (2)4.1设计思想 (2)4.2函数及功能要求 (3)5 详细设计 (4)5.1 数据结构的设计 (4)5.2 算法的设计思想及流程图 (5)5.2.1 主要函数的功能说明 (5)5.2.2 停车场管理系统流程图 (6)5.2.3 主要模块算法描述 (8)6 测试分析 (8)6.1 测试用例 (8)6.1.1 第一组测试用例 (8)6.1.2 第二组测试用例 (10)6.1.3 第三组测试用例 (11)6.2 测试结果分析 (12)7 使用说明 (12)8 总结 (13)参考文献 (15)附录 (16)停车场管理系统1 实习目的通过本次课程设计,了解并初步掌握设计、实现系统的完整过程,包括系统分析、编码设计、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。
2 问题描述停车场是一条可以停放n辆车的狭窄通道,且只有一个大门。
汽车停放安到达时间的先后依次由北向南排列(大门在最南端,最先到达的第一辆车停在最北端)若停车场已经停满n辆车,后来的汽车在便道上等候,一旦有车开走,排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,停在他后面的车要先后退为他让路,等它开出后其他车在按照原次序开入车场,每两停在车场的车要安时间长短缴费。
3 需求分析停车场是一条可以停放n辆车的狭窄通道,且只有一个大门。
汽车停放按到达时间的先后排列。
若停车场已经停满n辆车,后来的汽车在便道上等候。
一旦有车开走,排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,停在他后面的车要先后退为他让路。
等它开出后,其他车再按照原次序开入车场,每辆停在车场的车要按时间长短缴费。
3.1 设计基本要求(1) 以栈模拟停车场,以队列模拟车场外的便道,按照从终端输入的数据序列进行模拟管理。
停车场管理系统课程设计报告.doc
停车场管理系统课程设计报告重庆科技学院《面向对象程序设计》课程设计报告学校:电气与信息工程学院:规划系2010年1月8日。
讲师XXXX评论: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _结果(五级评分系统): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _指导者(签名): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _字数据。
重庆科技学院课程设计任务书设计主题: 学生姓名停车场管理系统设计廖帅霖课程名称面向对象课程设计专业班级计划部2007年1月8日晋升。
停车场管理系统课程设计报告【范本模板】
重庆科技学院《面向对象程序设计》课程设计报告学院:_ 电气与信息工程学院_ 专业班级:计科12-04 学生姓名:田园学号: 2012442095设计地点(单位)________计算机自主学习中心 ___ _____设计题目:_____ _ 停车场管理系统__ ____完成日期: 2013 年1月18日指导教师评语: ______________________ __ ________________________________________________________________________________________________________________________________________________________________________________________________________________________ __________ _成绩(五级记分制):______ __________指导教师(签字):________ ________摘要当今社会,停车场管理电脑化已经成为了停车场管理的不可缺少的一项重要内容,随着停车车辆的不断增加,停车场对停车的管理越来越复杂,所以要实现对停车的正确管理是必不可少的。
本次课程设计就是为了对停车基本的信息及其停车费用的管理做一个简单的表现,主要实现对停车的信息录入,修改,删除,显示,添加,查找等几个方面的功能。
而要实现这些功能,首先要建一个数组,将所有停车的信息都统筹起来,而且通过C++建立类的方式完成这些过程,并且能准确明显的显示每辆停车的基本信息和对其资费的管理。
通过如此对停车的管理,可以达到对停车信息的准确管理.关键词:停车场管理数组 C++ 类重庆科技学院课程设计任务书设计题目:停车场管理系统设计2013年1月1日目录1.软件需求分析说明书主要介绍该软件具有哪些详细的功能,及软件的界面要求、数据结构要求等(要把软件的所有的功能全部写在该部分)1。
停车场设计报告
(此文档为word格式,下载后您可任意编辑修改!)河南城建学院《城市地下空间规划理论》课程设计说明书课程名称: 城市地下空间规划与设计题目: 地下停车场的规划设计专业: 城市地下空间工程学生姓名: 宋玉品学号:指导教师: 罗从双杨国洲开始时间: 2013 年 12 月 23 日完成时间: 2014 年 1 月 03 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书撰写质量(45)总分(100)等级指导教师签名:年月日目录前言 ...............................................................................................................................................................第一章绪论 .................................................................................................................................................1.1地下停车厂特点 ............................................................................................................................1.2地下停车场规划步骤 ....................................................................................................................1.3地下停车场规划要点 ....................................................................................................................1.4课程设计的性质、目的 ................................................................................................................第二章地下停车场总图设计 .....................................................................................................................2.1选址原则和要求 ............................................................................................................................2.1 选址的基本介绍 ...........................................................................................................................2.1 总图设计应考虑的因素 ...............................................................................................................2.2 功能区划分及面积说明 ...............................................................................................................2.3 总的形状、建筑面积说明 .........................................................................................................2.4 防火等级划分、通道数量要求及说明(防火规范) ...............................................................第三章停车场主体平面设计 .....................................................................................................................3.1 设计的基本要求 ...........................................................................................................................3.2停车区的划分及面积估算 ............................................................................................................3.3 车位及行车通道的平面设计 .......................................................................................................3.4 修正停车场的平面柱网建议(主要柱距) ...............................................................................第四章停车场坡道的设计 .........................................................................................................................4.1坡道的形式 ....................................................................................................................................4.2 坡道的技术参数 ...........................................................................................................................4.3汽车坡道设计数量 ........................................................................................................................4.4停车场层高设计 ............................................................................................................................4.5消防、通风排烟和排水系统 ........................................................................................................第七章设计总结 .......................................................................................................................................参考文献 .......................................................................................................................................................前言近年来,随着城市的发展,道路建设跟不上城市中心区建设的速度;道路和停车面积不足,并且城市中心区集中了很多大的大型商业设施,许多新建的综合大楼又集商业、娱乐、餐饮、办公及旅馆与一体,功能复杂、流线的解决大多在地面上进行,在高峰时不可避免的造成人流、车流和货流的交叉干扰。
课程设计报告—停车场管理系统
软件实训(可视化程序设计)课题名称:模拟停车场管理系统学生学号:1104030229专业班级:2011级电信02 班学生姓名:张磊学生成绩:指导教师:沈斌课题工作时间:2014.12.22 至2013.12.28 武汉工程大学教务处制目录1.需求分析 (1)1.1课程设计的题目-------------------------------- 11.2 基本要求-------------------------------------- 11.4 课程设计的思想-------------------------------- 11.5 软件运行和开发工具---------------------------- 12.概要设计 (1)2.1 程序整体描述---------------------------------- 12.2 结构描述-------------------------------------- 12.3 算法的设计思想及流程图------------------------ 23.详细设计 (6)3.1 车辆到达登记---------------------------------- 63.2 车辆离开记录---------------------------------- 63.3车辆信息显示 ---------------------------------- 84.调试与操作说明 (10)总结 (12)1.需求分析1.1课程设计的题目设计一个停车场管理系统,模拟停车场的运作。
1.2 基本要求运用数据结构知识,要求以栈模拟停车场,以队列模拟车场外的便道,要求栈以顺序结构实现,队列以链表实现,按照从终端读入的输入数据序列进行模拟管理。
要求处理的数据元素包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻;1.3 课程设计的任务该系统主要实现以下几个功能:1.车辆到达信息登记:包括车牌号,到达时间,在停车场停放的位置等;2.车辆离开记录:包括离开时间,在停车场停留时间,停车费用等;3.信息显示:显示停车场内和便到内的汽车到达时机急位置等基本信息;1.4 课程设计的思想该程序应用栈来完成的车辆进停车场和出停车场就是一个数据进栈和出栈的过程。
c++程序设计报告停车场
C++课程设计报告题目: 学生成绩管理程序课程: C++程序设计院 (部): 计算机与信息技术学院专业: 软件工程班级: 2015级4班学生姓名: 张越学号: 1556完成日期: 2016年6月19日目录1 课程设计目的 (1)2 任务与要求 (1)3 主要数据结构(类函数) (2)4 程序功能结构 (2)5 功能测试 (3)6 课程设计总结 (7)7 附:课程设计源代码 (8)1、课程设计目的(1)巩固与加深学生对c++课程基本知识的理解与掌握;(2)掌握c++编程与调试的基本技能;(3)利用c++进行简单软件设计的基本思路与方法,初步理解面向对象编程思想;(4)提高学生运用c++解决实际问题的能力;(5)提高学生综合运用C++编程知识的能力;(6)培养学生工程设计与综合分析的能力;(7)培养与提高学生书写课程设计报告的能力;(8)培养学生实际操作能力与团结协作能力,为后续课程的学习打下坚实的基础。
2、课程设计任务与要求任务:编写停车场管理程序,用于停车场对车辆的管理。
程序能够实现可用车位统计与查询、零车位提示、停车时长统计、按车型时长收费、管理员收费累计等功能。
要求:编写停车场收费管理系统,定义汽车类Car与管理员类Manager,Car类有number(车牌号),model(车型)、et(enter time,入场时间)、qt (quit time)、price(每小时收费价)、cost(费用)等属性,Manager 类有id与key等,实现以下收费功能:⑴可用车位统计与查询;⑵零车位提示;⑶停车时长统计;⑷按车型时长收费; ⑸管理员收费累计。
主界面如下:3、主要数据结构(类,函数)主函数:int main();停车函数:void putcar();取车函数:void tackcar();时间函数:string time1;判断车位函数:int juge;4、程序功能结构程序主要功能如图1所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东北大学信息科学与工程学院数据结构课程设计课题报告题目立体化停车场管理课题组组长崔嘉文课题组成员曹奕王卓君张小玉赵天舒专业名称计算机科学与技术班级计算机1106指导教师杨雷2013 年7月课程设计任务书目录1 课题概述 (1)1.1 课题任务 (1)1.2 课题原理 (1)2 需求分析 (1)2.1 课题调研 (1)2.2 功能需求 (1)3 方案设计 (2)3.1 总体功能设计 (2)3.2 数据结构设计 (2)3.3 函数原型设计 (3)3.4 用户界面设计 (3)4 方案实现 (3)4.1 开发环境与工具 (3)4.2 个人设计实现(按组员分小节)4.2.1 曹奕设计实现 (3)4.2.2 王卓君设计实现 (6)4.2.3 张小玉设计实现 (12)4.2.4 赵天舒设计实现 (15)4.2.5 崔嘉文设计实现 (19)5 测试与调试 (23)5.1 个人测试(按组员分小节)5.1.1 曹奕测试 (23)5.1.2 王卓君测试 (27)5.1.3 赵天舒测试 (32)5.1.4张小玉测试 (33)5.1.5 崔嘉文测试 (33)5.2 系统运行 (33)6 课题总结 (35)6.1 课题性能分析 (35)6.2 课题评价与与团队协作 (36)6.3 个人设计小结(按组员分小节) (36)6.3.1. 曹奕设计小结 (36)6.3.2 王卓君设计小结 (36)6.3. 赵天舒设计小结 (37)6.3. 张小玉设计小结 (37)7 附录A 课题任务分工 (38)A-1 课题程序设计分工 (38)A-2 课题报告分工 (39)附录B 课题设计文档(光盘) (40)B-1课程设计报告(电子版) (40)B-2源程序代码(*.H,*.CPP) (40)1 课题概述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 Stack{public: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<<"~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^"<<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;}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(){Queue q;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(){Time t;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 崔嘉文测试张小玉,崔嘉文设计部分的测试将在系统运行中给出,在此不再赘述。