停车场管理课程设计报告
停车场管理系统课程设计报告2
停车场管理系统1实习目的通过本次课程设计,了解并初步掌握设计、实现系统的完整过程,包括系统分析、编码设计、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。
2问题描述停车场是一条可以停放n辆车的狭窄通道,且只有一个大门汽车停放安到达时间的先后依次由北向南排列(大门在最南端,最先到达的第一辆车停在最北端)若停车场已经停满n辆车,后来的汽车在便道上等候,一旦有车开走,排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,停在他后面的车要先后退为他让路,等它开出后其他车在按照原次序开入车场,每两停在车场的车要安时间长短缴费。
基本要求(1)以栈模拟停车场,以队列车场外的便道,按照从终端输入的数据序列进行模拟管理。
每一组数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码、以及到达或离去的时刻。
对每一组数据进行操作后的信息为:若是车辆到达,则输出汽车在停车场的内或便道上的位置:若是车辆离去则输出汽车在停车场内的停留时间和应缴纳的费用(在便道上的停留时间不收费)。
栈以顺序结构实现,队列以链表结构实现。
(2)友好性:界面要友好,输入有提示,尽量展示人性化。
(3)可读性:源程序代码清晰、有层次,必要时给出注释。
(4)健壮性:用户输入非法数据时,系统要及时给出警告信息。
(5)测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据进行程序测试,以保证程序的稳定。
测试数据及测试结果请在上交的资料中写明。
3需求分析停车场是一条可以停放n辆车的狭窄通道,且只有一个大门。
汽车停放按到达时间的先后排列。
若停车场已经停满n辆车,后来的汽车在便道上等候。
一旦有车开走,排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,停在他后面的车要先后退为他让路。
等它开出后,其他车再按照原次序开入车场,每辆停在车场的车要按时间长短缴费。
3.1设计基本要求(1)以栈模拟停车场,以队列模拟车场外的便道,按照从终端输入的数据序列进行模拟管理。
数据结构课程设计停车场管理系统设计报告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%。
课程设计报告-- 停车场管理系统
课程设计说明书专业:xxxxx课程名称: 数据结构课程设计班级: xxxx姓名: xxx 学号: xxxxxx设计题目: 停车场管理系统设计时间: 2012-2-27 至2012-3-9评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____________评阅教师:____________一、设计题目与要求停车场管理系统设停车场只有一个可停放几辆车的狭长通道,且只有一个大门可供汽车进出,汽车在停车场内按车辆的先后顺序依次排列,若车站内已停满汽车,则后来的汽车只能在门外的通道上等停,一旦停车场内有车开走,则排在同道上的第一辆车即可进入,当停车内某辆车要离开时,由于停车场是狭长的通道,在它之后开入的车辆必须先退出车站不能从便道上开走,试设计这样一个停车场模拟管理程序。
二、概要设计程序包括以下几个模块(包括其功能及程序实现思路与方法)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. 停车位标识优化:将停车位进行标号,并在每个停车位上设置明显的标识,方便车主辨认和查找空位。
2. 停车位分区划分:将停车场划分为不同的区域,根据车辆类型和停留时间的长短进行分区,以提高停车场的空间利用率。
3. 停车位预约系统:引入停车位预约系统,车主可以提前通过手机或网络平台预约停车位,避免到达停车场后找不到空位的情况。
4. 停车位计费方式改进:采用电子计费系统,通过车辆进出停车场的时间和停留时长进行计费,避免了传统计费方式中容易出现的人为错误和纠纷。
三、实验结果与分析经过实验的改进和优化,停车场的管理效果得到了明显的提升。
具体实验结果如下: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) 主函数:设计停车场管理菜单,通过菜单选项,调用相关的函数来实现停车场汽车到达登记、汽车离开停车场、汽车停靠查询和退出程序的操作,完成模拟汽车停车场的整个过程。
停车场管理系统课程设计报告
开始 Time++ Time<24 YES 生成新来车辆 车辆达成 离开条件 YES NO
NO
便道未满, 车 辆还有剩余
车辆离开 YES NO
车辆进入便道
停车场有空位
NO
停车场未满
YES 便道车辆进入停车场
YES 车辆进入停车场 输出一天统 计数据
NO 车辆有剩余 结束 YES 输出 FULL
函数功能: void OpenForDay()//初始化,打开文件,变量赋初值 void NewCars()//通过随机数生成每小时新来车辆的数目及每辆车的车牌号 void CarArrived()//车辆到达,停车场空位减少,相应车位记为非空,开始记录车辆的 到达时间、停留时间及车号 void CarDeparture()//车辆离开,停车场空位增加,车位初始化,计算车费并输出提
2.接着是对整个停车场系统的分析,第一,这个停车场管理系统是模拟了一个 30 车位 的停车场与 5 车位的便道相结合的系统, 功能是罗列出一天内停车场内车辆出入情况以 及每辆车停泊的位置(系统还会给出车的车牌号)和时间,最后是统计车辆出入的总车 次,车辆停泊的总时间,停车场的总收入;第二,明确一些临界问题。1,若车位已满, 则车必须在便道内等待,不需要付费;2,车辆停留 1 小时后离开的概率是 25%,每多 停留 1 小时后离开概率增加 25%,4 小时后一定要离开;3,若有空车位,但此时便道上 还有车在等待,便道上的车先进入停车场,新到的车仍需在便道上等待;
70337.This car has stayed for 1 hour(s).30 dollar should be payed for. 60296.This car has stayed for 3 hour(s).90 dollar should be payed for. 60297.This car has stayed for 3 hour(s).90 dollar should be payed for. 60320.This car has stayed for 2 hour(s).60 dollar should be payed for. 60321.This car has stayed for 2 hour(s).60 dollar should be payed for. 70324.This car has stayed for 2 hour(s).60 dollar should be payed for. 70325.This car has stayed for 2 hour(s).60 dollar should be payed for. 70329.This car has stayed for 1 hour(s).30 dollar should be payed for. 60299.This car has stayed for 3 hour(s).90 dollar should be payed for. 60296.This car has stayed for 4 hour(s).120 dollar should be payed for. 60311.This car has stayed for 3 hour(s).90 dollar should be payed for.
停车场管理问题课程设计
停车场管理问题课程设计一、教学目标本课程旨在通过停车场管理问题的研究,让学生掌握城市规划与管理的基本知识,提高解决实际问题的能力。
具体目标如下: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) 以栈模拟停车场,以队列模拟车场外的便道,按照从终端输入的数据序列进行模拟管理。
停车场管理系统课程设计报告
重庆科技学院《面向对象程序设计》课程设计报告学院:_ 电气与信息工程学院_ 专业班级:计科12-04 学生姓名:田园学号: 2012442095设计地点(单位)________计算机自主学习中心 ___ _____设计题目:_____ _ 停车场管理系统__ ____完成日期: 2013 年1月18日指导教师评语: ______________________ __ ________________________________________________________________________________________________________________________________________________________________________________________________________________________ __________ _成绩(五级记分制):______ __________指导教师(签字):________ ________摘要当今社会,停车场管理电脑化已经成为了停车场管理的不可缺少的一项重要内容,随着停车车辆的不断增加,停车场对停车的管理越来越复杂,所以要实现对停车的正确管理是必不可少的。
本次课程设计就是为了对停车基本的信息及其停车费用的管理做一个简单的表现,主要实现对停车的信息录入,修改,删除,显示,添加,查找等几个方面的功能。
而要实现这些功能,首先要建一个数组,将所有停车的信息都统筹起来,而且通过C++建立类的方式完成这些过程,并且能准确明显的显示每辆停车的基本信息和对其资费的管理。
通过如此对停车的管理,可以达到对停车信息的准确管理。
关键词:停车场管理数组 C++ 类重庆科技学院课程设计任务书设计题目:停车场管理系统设计2013年1月1日目录1.软件需求分析说明书主要介绍该软件具有哪些详细的功能,及软件的界面要求、数据结构要求等(要把软件的所有的功能全部写在该部分)1.课程设计的目的和要求1.1 综合要求和目的:C++语言课程设计的主要目的是培养学生综合运用C++语言程序设计课程所学到的知识,编写C++程序解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯。
停车场管理系统数据结构课设报告
. ..数据结构课程设计停车场管理系统目录一、课设目的 (2)二、问题描述 (2)三、基本要求 (2)四、详细设计 (2)(1)原理分析 (2)(2)功能模块 (3)(3)用户手册 (5)(4)流程图 (6)(5)测试用例 (7)(6)测试目的 (7)(7)测试要求 (7)五、程序源码 (7)六、测试结果 (13)七、课设总结 (14)八、参考文献 (15)一、课设目的(1)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;(2)初步掌握软件开发过程中的问题分析,系统设计,程序编码,测试等基本方法和技能;(3)提高综合应用所学的理论知识和方法独立分析和解决问题的能力;(4)训练用系统的观点和软件开发和一般规进行软件开发,培养软件工作者所应具有的科学的工作方法和作风。
二、问题描述设停车场只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。
汽车在停车场按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。
试为停车场编制按上述要求进行管理的模拟程序。
三、基本要求以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。
每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场或便道上的停车位置;若是车离去,则输出汽车在停车场停留的时间和应交纳的费用(在便道上停留的时间不收费)。
栈以顺序结构实现,队列以链表实现。
四、详细设计(1)原理分析:栈是一种只能在一段进行输入和输出操作的线性表,表尾称为栈顶,表头称为栈底。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18: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)一、数据结构内容简介数据结构指的是数据的逻辑结构和存储结构,算法就是对数据运算的描述。
程序设计的实质就是对实际问题选取一种优秀的数据结构,加之设计一个优秀的算法,而且优秀的算法很大程度上取决于描述实际问题的数据结构。
二、需求分析本次数据结构课程设计的具体内容是停车场管理系统,该系统用栈结构模拟停车场,限定停车场的容量为n,用队列结构模拟等待的便道,空间不限制。
车辆的信息包括:车牌号、汽车到达/离去标志、到达/离去时刻等。
按照从终端读入的数据序列进行模拟管理。
每辆车需要三个数据,其中车辆数据为:A表示到达,D表示离去,E表示程序结束。
车辆牌照为整型数据。
进场或离场时间同样为整型数据。
对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用停车场管理系统主要实现以下几个功能:(1)根据车辆到达停车场到车辆离开停车场时所停留的时间进行计时收费。
(2)该程序设计能够通过车牌号能查到该车辆在停车场或便道中的位置。
(3)当有车辆从停车场离开时,等待的车辆按顺序进入停车场停放。
实现停车场的调度功能。
该程序设计可以完整的模拟停车场的管理过程。
三、算法设计停车场管理系统是充分利用数据结构中栈和队列的思想实现的,栈是一种只能在叫做栈的一段进行进栈或者出栈操作的线性数据结构。
栈的主要特点是”后进先出”,即后进栈的元素先处理。
停车场的容量即为栈的存储空间,停车场的车辆的停靠是无秩序的,因此采用链式存储的方式更适合,也方便车辆的调度。
图1 停车场管理系统流程图1、概要设计2.详细设计三、程序功能分析1、算法分析与探讨该停车场管理系统首先初始化栈模拟停车场的容量,车辆到达时实现入栈操作,在栈中加入一个新元素,然后为新元素设置变量保存车辆的信息。
车辆的信息包括:车牌号、汽车到达/离去标志、到达/离去时刻等。
用队列模拟便道,实现能够通过车牌号等信息就可以查到车辆在便道中的位置。
按照从终端读入的数据序列进行模拟管理。
每辆车需要三个数据,其中车辆数据为:A表示到达,D表示离去,E表示程序结束。
车辆牌照为整型数据。
进场或离场时间同样为整型数据。
对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。
如果停车场满了即栈满了就调用队列函数,等其他车辆离开后新的车辆在进入便道。
2、调试分析(1)一开始在调试程序时遇到了内存错误,经过DEBUG,找到了引起内存错误的原因:即在建立队头指针与队尾指针时没有对指针进行初始化(没有为指针动态分配空间)。
问题得到解决。
(2)在Wait函数中的If语句处,一开始的算法有些问题,导致实现的功能与设想的有出入,无法得到正确的结果。
原条件为: S.top-S.base==S.stacksize后改为: (S.top-S.base)==(S.stacksize-1)&&count!=0该函数的功能得以正确实现。
(3)在EnQueue函数中,一开始用的是建立实体结点,用队头队尾指针指向该实体的方法来创建队列。
在调试过程中发现,忽略了生存期,导致队列并没有被创建。
改为创建指针,并为指针分配空间,再给头指针和尾指针赋值的方式解决问题。
虽然指针也有生存期,但为它分配的空间却并没有被收回,于是队列创建成功,问题解决。
(4)本程序中:车辆到达,离去时的时间复杂度均为:O(n)。
本程序空间复杂度为:O(n)。
(5)经验体会:借助DEBUG和Watch,可以更快的找到程序中的非语法错误。
在声明一个指针后,要对指针进行初始化,并且0可以作为地址使用。
注意生存期对程序的影响。
3、程序测试(1)输入车辆数据:A为到达,D为离去,E为结束程序。
(2)按提示继续输入。
(3)若为到达的车辆,输入进场信息,若为离去的车辆,输入离场信息。
(4)若车辆到达,可得到车辆的停放位置信息,若车辆离去,可得到车辆的停放时间(在便道上的停放时间除外),以及应该交纳的费用。
(5)本程序不断循环要求输入车辆信息,直到输入的车辆数据为E时,程序结束。
4、测试结果A表示到达,D表示离去,E表示程序结束5、源程序代码#include <stdio.h>#include <iostream.h>#include <malloc.h>#define ERROR 0#define OK 1#define NULL 0typedef struct node{int passport;int time;}node;typedef struct stack{node *base;node *top;int stacksize;}stack;typedef struct Qnode{node Qdata;struct Qnode *next;}Qnode;typedef struct {Qnode *front;Qnode *rear;}LinkQueue;int count=0;int times;stack s,temp;LinkQueue Q;void initstack(stack &S,int n){S.base=(node *)malloc(n*sizeof(node));S.top=S.base;S.stacksize=n;}void EnQueue(LinkQueue &Q,node e);void DeQueue(LinkQueue &Q,node &e);void push(stack &S,node e){if((S.top-S.base)>=S.stacksize){EnQueue(Q,e);}else {S.top->passport=e.passport;S.top->time=e.time;S.top++;}}int pop(stack &S,node &e){if(S.top==S.base)return ERROR;--S.top;e.passport=S.top->passport;e.time=S.top->time;return OK;}void wait(stack &S){if((S.top-S.base)==(S.stacksize-1)&&count!=0){node temp;DeQueue(Q,temp);temp.time=times;push(S,temp);}}void EnQueue(LinkQueue &Q,node e){Qnode *q;q=(Qnode *)malloc(sizeof(Qnode));q->Qdata.passport=e.passport;q->Qdata.time=e.time;q->next=NULL;if(count==0){Q.front=q;count++;}Q.rear->next=q;Q.rear=q;}void DeQueue(LinkQueue &Q,node &e){if(Q.rear==NULL){}else {e.passport=Q.front->Qdata.passport;e.time=Q.front->Qdata.time;Q.front=Q.front->next;if(Q.front==NULL){Q.rear=Q.front;count=0;} }}void main(){int n,exit;float money;char info;int pass;Q.front=NULL;Q.rear=(Qnode *)malloc(sizeof(Qnode));Q.rear->next=Q.rear;printf("停车场容量:");cin>>n;initstack(s,n);initstack(temp,n);printf("停车场费率:");cin>>money;while(exit!=OK){printf("\n请输入车辆数据\nA到达 D离去 E结束:");cin>>info;printf("请输入车辆牌照:");cin>>pass;if(info=='A'||info=='E')printf("请输入进场时间:");if(info=='D')printf("请输入离场时间:");cin>>times;if(info=='E'){exit=OK;}else if(info=='A'){int i,j;node a;a.passport=pass;a.time=times;push(s,a);for(i=1;i<=n;i++){if(s.base[i-1].passport==a.passport){printf("停车位置(停车场内):%d\n",i);}}Qnode *tp;tp=Q.front;if(tp==NULL){}else{j=1;while(tp!=Q.rear){tp=tp->next;j++;}printf("停车位置(便道):%d\n",j);}}else if(info=='D'){node d;int tp,counter=0;do{counter++;tp=pop(s,d);while(tp!=ERROR){if(d.passport==pass){float m;m=(times-d.time)*money;printf("停留时间:%d 需交费:%f\n",times-d.time,m);while(temp.base!=temp.top){pop(temp,d);push(s,d);}wait(s);d.passport=9999;tp=ERROR;}else{push(temp,d);d.passport=0;tp=ERROR;}}}while(d.passport==0||counter>n);}else if(info!='A'&&info!='D'&&info!='E'){} }}总结本次课程设计主要是运用本学期学的数据结构的知识设计一个停车场管理系统,使本学期所学的数据结构的课程内容得到了具体的运用,更加深了对这门课程的理解。