停车场管理课程设计报告
数据结构课程设计停车场管理系统设计报告2

数据结构课程设计停车场管理系统设计报告2停车场管理系统设计报告一、引言停车场管理系统是一种用于管理和控制停车场内停车位的软件系统。
本报告旨在详细描述设计一个停车场管理系统的过程,并介绍系统的功能、架构、模块设计以及相关技术细节。
二、系统概述本停车场管理系统旨在提供一个高效、智能化的停车场管理解决方案,以便实现停车场资源的合理利用和车辆流量的有效管理。
系统主要包括以下功能模块:1. 车辆入场管理:记录车辆的入场时间、车牌号码等信息,并分配合适的停车位。
2. 车辆出场管理:记录车辆的出场时间,计算停车费用,并提供支付方式。
3. 停车位管理:实时监测和管理停车位的占用情况,提供可用停车位的查询功能。
4. 数据统计与分析:根据车辆进出记录,生成报表,分析车流量、停车时长等数据。
5. 系统设置:包括管理员账号管理、停车场信息设置等。
三、系统架构本停车场管理系统采用三层架构,包括表现层、业务逻辑层和数据访问层。
1. 表现层:用户通过图形界面与系统进行交互,输入车辆信息、查询停车位、支付停车费用等。
2. 业务逻辑层:负责处理用户请求,实现车辆入场、出场管理,停车位管理以及数据统计与分析功能。
3. 数据访问层:负责与数据库进行交互,实现数据的存取和管理。
四、模块设计1. 车辆入场管理模块该模块主要包括车辆信息录入、停车位分配和入场记录保存等功能。
用户在系统界面输入车辆信息后,系统将分配一个合适的停车位,并将车辆信息和入场时间保存至数据库中。
2. 车辆出场管理模块该模块主要包括出场记录查询、停车费用计算和支付功能。
用户通过输入车牌号码查询出场记录,系统将根据停车时间计算停车费用,并提供多种支付方式供用户选择。
3. 停车位管理模块该模块实时监测和管理停车位的占用情况,提供可用停车位的查询功能。
系统将通过查询数据库中的停车位信息,实时更新停车位的占用状态,并在系统界面显示可用停车位的数量。
4. 数据统计与分析模块该模块根据车辆进出记录,生成报表,分析车流量、停车时长等数据。
课程设计报告—停车场管理系统

计算机工程学院课程设计报告课程名称:数据结构课程设计设计题目:停车场管理系统院系:计算机工程学院专业:计算机科学与技术目录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)致谢 (12)参考文献 (12)1.需求分析1.1课程设计的题目设计一个停车场管理系统,模拟停车场的运作。
1.2 基本要求运用数据结构知识,要求以栈模拟停车场,以队列模拟车场外的便道,要求栈以顺序结构实现,队列以链表实现,按照从终端读入的输入数据序列进行模拟管理。
要求处理的数据元素包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻;1.3 课程设计的任务该系统主要实现以下几个功能:1.车辆到达信息登记:包括车牌号,到达时间,在停车场停放的位置等;2.车辆离开记录:包括离开时间,在停车场停留时间,停车费用等;3.信息显示:显示停车场内和便到内的汽车到达时机急位置等基本信息;1.4 课程设计的思想该程序应用栈来完成的车辆进停车场和出停车场就是一个数据进栈和出栈的过程。
停车场课程设计范文

停车场课程设计范文一、教学目标本课程旨在通过学习停车场相关知识,使学生掌握停车场的基本概念、设计原则和规划方法。
在知识目标方面,学生应了解停车场的分类、功能、组成以及相关设计规范。
技能目标方面,学生应具备停车场设计的基本能力,能够根据实际需求进行简单的停车场设计。
情感态度价值观目标方面,学生应认识到停车场在城市交通中的重要性,培养对城市交通规划的责任感和使命感。
二、教学内容本课程的教学内容主要包括停车场的基本概念、分类、功能、组成、设计原则和规划方法。
首先,介绍停车场的定义、发展历程和在我国的应用现状。
其次,讲解停车场的分类,包括地下停车场、地面停车场和立体停车场等。
然后,阐述停车场的基本功能,如停车、取车、交通等。
接下来,介绍停车场的组成部分,如停车位、通道、出入口等。
然后,讲解停车场设计的原则,如安全性、便捷性、经济性等。
最后,讲解停车场规划的方法,如需求分析、布局设计、交通等。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法。
首先,运用讲授法,为学生系统地传授停车场相关知识。
其次,采用案例分析法,通过分析实际案例,使学生更好地理解和掌握停车场设计的原则和方法。
此外,还将运用讨论法,引导学生积极参与课堂讨论,培养学生的思考能力和团队协作精神。
最后,利用实验法,让学生亲身参与停车场设计的实践过程,提高学生的实际操作能力。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将选择和准备以下教学资源:教材《停车场设计》、参考书《城市交通规划》、多媒体资料(包括停车场设计的相关视频、图片等)、实验设备(如停车场模型、CAD软件等)。
这些教学资源将丰富学生的学习体验,帮助学生更好地理解和掌握停车场设计的相关知识。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。
平时表现主要考察学生的课堂参与度、提问回答和团队协作等方面,占总评的30%。
作业分为课堂练习和课后作业,主要考察学生对停车场设计知识的掌握和应用能力,占总评的30%。
停车场管理课程设计报告

《停车场管理系统》专业:班级:姓名:学号:指导教师:完成日期: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、在车站已满的情况下,将车辆停在通道里。
车站有固定容量,当车站停满车后,车辆先放置在通道中。
通道是一个两头开口的狭长通道,而且当车站有空位时,通道中第一辆车要进入车站,则是先进先出的原则,所以采用队列的形式记录通道内车辆的信息。
泊车管理课程设计报告

应用技术研究所课程计划报告课程名称:C语言课程设计主题:停车管理< 1 >前面的语句C语言程序设计的课程设计是对学生的综合训练,包括问题分析、总体结构设计、用户界面设计、编程的基本技能和技巧、多人合作,甚至是一整套软件工作规则的训练和科学风格的培养。
是与课堂听讲、自学、练习相辅相成的不可或缺的教学环节。
通常课程设计的题目要比平时的习题复杂很多,也更贴近实际。
课程设计注重与应用的结合,让学生学会如何运用书本上学到的知识解决实际问题,培养软件工作所需的动手能力;另一方面可以让书本上的知识“活”起来,让学生更好地加深理解,灵活把握教学容量。
为了达到上述目的,本课程安排了十五个设计题目,训练重点是基本的编程方法和分析问题的能力,而不是强调各个方面。
学生可以选择其中一个问题进行设计。
设计结束后,他们可以写一份课程设计报告,并用A4纸打印成册。
并保存课程设计报告和源程序。
学习委员会将收集课程设计报告和磁盘(两者缺一不可)交给指导老师。
一.目的充分熟悉和掌握C语言的基础知识,掌握C语言程序设计中的顺序、分支、循环三种结构和C语言中数组、函数、基本图形编程的方法,编程与实践相结合,增强应用不同问题和灵活选择合适的数据结构描述算法的能力,熟悉程序编译和调试的技巧,掌握一些分析结果的有效方法,进一步提高动手能力。
培养使用计算机解决实际问题的能力,养成提供文档的习惯和规律编程的思想,为以后应用计算机系统解决专业课中的计算、分析、实验、设计等学习环节打下坚实的基础。
二。
基本信息课程:必修课课程学分:1学分课程时数:1周课程:电气工程0781,0782,0783,0784,0785,0786< 2 >设计和调试过程的策划要求1)需求分析分析系统功能需求,与用户沟通操作流程。
2)概要设计在需求分析的基础上,确定了系统的总体框架(系统功能结构图)。
3)详细设计定义数据存储结构,设计实现系统功能的具体算法,并绘制各算法的流程图。
课程设计停车场管理的设计
课程设计停车场管理的设计一、课程目标知识目标:1. 学生能理解停车场管理的基本概念,掌握停车场规划与设计的相关知识。
2. 学生能了解停车场管理系统的工作原理,掌握其组成部分及功能。
3. 学生能掌握停车场数据统计与分析的基本方法。
技能目标:1. 学生具备运用所学知识对停车场进行规划与设计的能力。
2. 学生能够利用停车场管理系统进行数据统计与分析,解决实际问题。
3. 学生能够通过小组合作,进行停车场管理方案的设计与优化。
情感态度价值观目标:1. 培养学生对停车场管理工作的兴趣,激发他们探究停车场管理优化方案的积极性。
2. 培养学生关注现实问题,树立解决实际问题的责任感。
3. 培养学生团队协作精神,提高沟通与表达能力。
本课程针对五年级学生,结合停车场管理相关知识,注重理论与实践相结合。
课程设计充分考虑学生的认知特点,通过实例分析、小组讨论等形式,激发学生的兴趣,培养他们的动手操作能力和解决问题的能力。
课程目标的设定旨在让学生在学习过程中,既能掌握停车场管理的基本知识,又能提高实际操作技能,同时培养积极向上的情感态度价值观。
为实现课程目标,教学过程中将注重目标分解,确保学生能够达到预期学习成果。
二、教学内容本章节教学内容主要包括以下三个方面:1. 停车场管理基础知识:- 停车场概念、分类及功能- 停车场规划与设计原则- 停车场设施及设备介绍2. 停车场管理系统:- 管理系统的组成部分及功能- 停车场数据统计与分析方法- 停车场管理系统在实际中的应用案例3. 停车场管理方案设计与优化:- 小组合作进行停车场规划与设计- 停车场管理方案的制定与评估- 停车场管理优化措施的探讨与实践教学内容根据课程目标进行组织,紧密结合教材相关章节。
教学大纲制定如下:1. 基础知识学习(2课时)- 第1课时:停车场概念、分类及功能- 第2课时:停车场规划与设计原则及设施设备介绍2. 管理系统学习(3课时)- 第1课时:管理系统组成部分及功能- 第2课时:停车场数据统计与分析方法- 第3课时:管理系统应用案例分析与讨论3. 方案设计与优化(3课时)- 第1课时:停车场规划与设计实践- 第2课时:制定停车场管理方案与评估- 第3课时:停车场管理优化措施探讨与实践教学内容安排合理,确保学生能够逐步掌握停车场管理相关知识,为后续教学和实践活动打下坚实基础。
停车场管理课程设计报告汇总
停车场管理一、课程设计题目内容(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. 停车位预约系统:引入停车位预约系统,车主可以提前通过手机或网络平台预约停车位,避免到达停车场后找不到空位的情况。
4. 停车位计费方式改进:采用电子计费系统,通过车辆进出停车场的时间和停留时长进行计费,避免了传统计费方式中容易出现的人为错误和纠纷。
三、实验结果与分析经过实验的改进和优化,停车场的管理效果得到了明显的提升。
具体实验结果如下:1. 停车位利用率提高:通过停车位标识优化和停车位分区划分,车主能够更快速地找到空闲停车位,停车位的利用率得到了有效提高。
2. 停车场管理效率提升:引入停车位预约系统,车主可以提前预约停车位,减少了车辆在停车场内的等待时间,提高了停车场的管理效率。
3. 计费方式改进带来的便利:采用电子计费系统,不仅提高了计费的准确性,还方便了车主的付费操作,减少了人为错误和纠纷的发生。
四、实验结论本实验通过对停车场管理方式的改进,提高了停车场的利用率和管理效率。
实验结果表明,合理的停车位标识、停车位分区划分、停车位预约系统和计费方式改进,能够有效解决停车难问题,提高城市停车场的管理水平。
然而,停车场管理仍然存在一些问题和挑战。
例如,停车位数量不足、停车位预约系统的普及程度等。
停车场管理系统课程设计
停车场管理系统课程设计一、课程目标知识目标:1. 学生能理解停车场管理系统的基本原理和功能需求;2. 学生掌握使用编程语言设计并实现停车场管理系统的基本方法;3. 学生了解数据库在停车场管理系统中的应用和重要性;4. 学生掌握停车场管理系统中的数据结构和算法。
技能目标:1. 学生能运用所学知识,设计出结构合理、功能完善的停车场管理系统;2. 学生能运用编程语言实现停车场管理系统的各项功能,并解决实际问题;3. 学生能够通过团队协作,完成停车场管理系统的设计、开发和测试;4. 学生具备分析和解决停车场管理系统中问题的能力。
情感态度价值观目标:1. 学生通过学习停车场管理系统课程,增强对计算机科学和信息技术领域的兴趣和热情;2. 学生在课程学习过程中,培养良好的团队合作精神和沟通能力;3. 学生能够认识到停车场管理系统在实际生活中的应用价值,关注社会发展和科技创新;4. 学生在学习过程中,树立正确的价值观,关注环境保护和资源合理利用。
课程性质:本课程为信息技术课程,旨在让学生结合现实生活中的问题,运用所学知识设计和开发停车场管理系统。
学生特点:学生具备一定的编程基础,对信息技术领域有一定了解,具备探索精神和动手能力。
教学要求:课程要求学生在理解停车场管理系统原理的基础上,动手实践,培养解决实际问题的能力。
教学过程中注重培养学生的团队合作和沟通能力,提高学生的综合素质。
通过课程目标的分解和实施,确保学生能够达到预期学习成果。
二、教学内容1. 停车场管理系统概述- 停车场管理系统的作用和功能- 常见停车场管理系统的案例分析2. 系统需求分析- 了解停车场管理系统的业务流程- 学习如何进行系统需求分析- 编写系统需求规格说明书3. 系统设计- 学习系统架构设计- 数据库设计与数据表结构设计- 系统模块划分与功能设计4. 编程语言与开发工具- 选择合适的编程语言(如Java、C#等)- 学习使用相关开发工具(如Eclipse、Visual Studio等)5. 系统实现- 编写系统各模块的代码- 集成各个模块,实现系统整体功能- 学习调试程序,解决开发过程中遇到的问题6. 系统测试与优化- 制定测试计划,进行系统功能测试- 分析测试结果,优化系统性能- 评估系统可靠性、稳定性和安全性7. 课程总结与展示- 学生团队展示停车场管理系统成果- 分析课程学习过程中的收获与不足- 教师点评与反馈教学内容根据课程目标进行科学性和系统性的组织,与课本内容紧密关联。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
停车场管理课程设计报告经济管理学院本科课程设计论文数据结构课程设计学号:姓名:班级:专业:信息管理与信息系统系别: 管理系指导教师:2011 年 1 月 14日吉林目录目录第1章需求分析 (1)1.1停车场管理问题 (1)1.1.1问题描述 (1)1.1.2实现要求 (1)1.1.3实现提示 (1)1.2功能描述 (1)1.3模块描述 (2)第2章概要设计 (2)2.1设计思想 (2)2.2实现方法 (2)2.3程序中的函数 (3)第3章详细设计 (4)第4章调试分析 (13)4.1主窗口界面 (13)4.2停车界面 (14)4.3出车界面 (15)4.4退出程序界面 (15)第5章课设总结 (16)5.1收获 (16)5.2问题 (16)第1章需求分析随着改革开放的深入,中国不断的发展,人们生活水平的不断提高,拥有汽车的人越来越多,在什么地方停车成了一个问题,因此停车场建立起来,但是车辆众多,需要对汽车进出停车场进行规范化的管理,才能使停车场发挥其作用。
1.1停车场管理问题1.1.1问题描述设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。
车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。
如果停车场已放满n 辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。
停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。
每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。
如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。
编制一程序模拟该停车场的管理。
1.1.2实现要求要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。
1.1.3实现提示汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。
例如,(‘A’,1,5)表示1号牌照车在5这个时刻到达,而(‘D’,5,20)表示5号牌照车在20这个时刻离去。
整个程序可以在输入信息为(‘E’,0,0)时结束。
1.2功能描述根据需要,本系统应具有以下功能:1. 汽车进入停车场停车2. 汽车从停车场离开3. 汽车在便道上等待进入停车场停车4. 根据汽车在停车场内停车时间进行计费1.3模块描述主要分为下面的模块:定义用来模拟停车场的栈以及用来模拟便道的链队列为全局变量,然后编写主函数,在此主函数中实现对其它各个模块的调用。
在主函数中首先调用print ()函数,出现欢迎用户使用的主界面,然后提示用户进入此停车场管理系统后,再出现一个供用户选择的界面,在用户的选择过程中,程序又分别调用车辆的到达、车辆的离开以及退出程序这三个函数模块。
第2章概要设计2.1设计思想此停车场管理系统是在一个狭长的通道上的,而且只有一个大门可以供车辆进出,并且要实现停车场内某辆车要离开时,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些辆再依原来的次序进场的功能,就可以设计两个堆栈,其中一个堆栈用来模拟停车场,另一个堆栈用来模拟临时停车场,该临时停车场用来存放当有车辆离开时,原来停车场内为其让路的车辆。
至于当停车场已满时,需要停放车辆的通道可以用一个链队列来实现。
当停车场内开走一辆车时,通道上便有一辆车进入停车场,此时只需要改变通道上车辆结点的连接方式就可以了,使通道上第一辆车进入停车场这个堆栈,并且使通道上原来的第二辆车成为通道上的第一辆车,此时只需将模拟通道的链队列的头结点连到原来的第二辆车上就可以了。
2.2实现方法对于此停车场管理系统的实现,就是用两个栈来分别模拟停车场以及停车场内车辆为其它车辆让路时退出停车的临时停放地点。
至于通道上车辆的停放则用一个链队列来实现,此时,通道上车辆的离开或者进入停车场只需改变此链队列上的结点而已。
当汽车要进入停车场前,先要检查停车场内是否还有空余的车位,如果还有空余的车位则车辆进入停车场;如果停车场已经满了,那么车辆进入停车场外的便道的等待队列。
当汽车要离开停车场,在他之后的停的车都必须退出停车场为它让路,然后这辆车再出栈,退出的车辆再按原来的顺序进入停车场。
检查停车场外的便道上是否有等待的车辆,如果有,则在队首的车辆进入停车场。
1.用栈模拟停车场,用队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。
2.每一组输入数据包括三个数据项:汽车到达或离去的信息,汽车牌照号码以及到达或离去的时刻。
3.每次输入完进行输出操作:若是车辆到达,输出汽车在停车场内或便道上的停车位置;若是车辆离去,对于要对停车场内的车辆根据其停放时间收取相应的停车费用,可以记录下车辆进入以及离开停车场的时间,再用时间差乘以相应的单价并且打印出最后的费用就可以实现了。
(在便道上停留的时间不收费)。
2.3程序中的函数1.定义栈(停车场) struct stack初始化栈void initstack(stack* s)元素进栈int push(stack* s,cinfo x)元素出栈cinfo pop(stack* s)2.定义队列(车场外的便道)struct queue初始化队列void initqueue(queue* q)元素进队列void inqueue(queue* q,int num1)元素出队列int outqueue(queue* q)3.处理车辆到达的情况void carrival(stack* s,queue* q,cinfo x)处理车辆离开void carleave(stack* s1,stack* s2,queue* q,cinfo x)4.主窗口 void print()5.主程序void main()第3章详细设计#include<iostream.h>#include<stdlib.h>int N;const int rate=10;//M为单元时间的收费值struct cinfo//定义栈中元素的类型{int cnum;int atime;};struct stack//定义栈{cinfo cstack[3000];//这里随便定义一个数字表示数组的长度,因为后int top; //面会根据用户输入的N值作为停车场能够停车的int size; //栈的大小};struct node//定义队列节点的类型{node* next;int nnum;};struct queue//定义队列{node *front,*rear;};void initstack(stack *s)//初始化栈{s->top=-1;}int push(stack* s,cinfo x)//元素进栈{ //int 元素进栈n;if(s->top==N-1){cout<<"栈满!"<<endl;return 0;}else{s->cstack[++s->top]=x;return 1;}}cinfo pop(stack* s)//元素出栈{cinfo y;if(s->top<0){um=NULL;y.atime=NULL;return y;}else{s->top--;return s->cstack[s->top+1];}}void initqueue(queue* q)//初始化队列{q->front=new node;q->rear=q->front;q->front->next=NULL;q->front->nnum=0;}void inqueue(queue* q,int num1)//元素进队列{node* p;p=new node;p->nnum=num1;p->next=NULL;q->rear->next=p;q->rear=p;q->front->nnum++;}int outqueue(queue* q)//元素出队列{node* p;int n;if(q->front==q->rear) return 0;else{p=q->front->next;q->front->next=p->next;if(p->next==NULL)q->rear=q->front;n=p->nnum;delete p;q->front->nnum--;return n;}}void carrival(stack* s,queue* q,cinfo x) //处理车辆到达的情况{int f;f=push(s,x);if(f==0){inqueue(q,um); //进入队列cout<<"车号为"<<um;cout<<"的车停在第"<<q->front->nnum;cout<<"个便道的位置"<<endl;}else //进入栈{cout<<"车号为"<<um;cout<<"的车停在第"<<s->top+1;cout<<"个车位"<<endl;}}void carleave(stack* s1,stack* s2,queue* q,cinfo x) //处理车辆离开{node* p;cinfo y;int a,n=0;while((s1->top>-1)&&(n==0)){y=pop(s1);if(um!=um){a=push(s2,y);}elsen=1;}if(um==um) //查找要离开的车辆{cout<<"车号为"<<um;cout<<"要离开,应收费"<<" "<<(x.atime-y.atime)*rate;cout<<"元。
"<<endl;while(s2->top>-1){y=pop(s2);n=push(s1,y);}a=outqueue(q);if(a!=0){um=a;y.atime=x.atime;n=push(s1,y);cout<<"车号为"<<um;cout<<" "<<"的车辆将要进入第"<<s1->top+1;cout<<" "<<"个车位。