停车场管理系统课程设计报告 最终版
停车场管理系统课程设计报告2
停车场管理系统1实习目的通过本次课程设计,了解并初步掌握设计、实现系统的完整过程,包括系统分析、编码设计、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。
2问题描述停车场是一条可以停放n辆车的狭窄通道,且只有一个大门汽车停放安到达时间的先后依次由北向南排列(大门在最南端,最先到达的第一辆车停在最北端)若停车场已经停满n辆车,后来的汽车在便道上等候,一旦有车开走,排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,停在他后面的车要先后退为他让路,等它开出后其他车在按照原次序开入车场,每两停在车场的车要安时间长短缴费。
基本要求(1)以栈模拟停车场,以队列车场外的便道,按照从终端输入的数据序列进行模拟管理。
每一组数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码、以及到达或离去的时刻。
对每一组数据进行操作后的信息为:若是车辆到达,则输出汽车在停车场的内或便道上的位置:若是车辆离去则输出汽车在停车场内的停留时间和应缴纳的费用(在便道上的停留时间不收费)。
栈以顺序结构实现,队列以链表结构实现。
(2)友好性:界面要友好,输入有提示,尽量展示人性化。
(3)可读性:源程序代码清晰、有层次,必要时给出注释。
(4)健壮性:用户输入非法数据时,系统要及时给出警告信息。
(5)测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据进行程序测试,以保证程序的稳定。
测试数据及测试结果请在上交的资料中写明。
3需求分析停车场是一条可以停放n辆车的狭窄通道,且只有一个大门。
汽车停放按到达时间的先后排列。
若停车场已经停满n辆车,后来的汽车在便道上等候。
一旦有车开走,排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,停在他后面的车要先后退为他让路。
等它开出后,其他车再按照原次序开入车场,每辆停在车场的车要按时间长短缴费。
3.1设计基本要求(1)以栈模拟停车场,以队列模拟车场外的便道,按照从终端输入的数据序列进行模拟管理。
停车场管理课程设计报告
《停车场管理系统》专业:班级:姓名:学号:指导教师:完成日期: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. 让学生理解停车场管理系统的基本原理和功能需求。
2. 使学生掌握利用所学编程语言设计简单的停车场管理系统。
3. 帮助学生了解数据库在停车场管理系统中的应用。
技能目标:1. 培养学生运用所学知识,如流程图绘制、代码编写和调试等,解决实际问题的能力。
2. 提高学生团队协作、沟通表达和项目管理的能力。
情感态度价值观目标:1. 培养学生对计算机科学的兴趣,激发他们探索新技术、新方法的热情。
2. 培养学生面对实际问题时,积极思考、勇于创新的态度。
3. 增强学生的环保意识,让他们认识到智能停车场系统对缓解交通压力、提高生活质量的重要性。
课程性质:本课程为信息技术学科,以项目式教学为主,结合教材内容,使学生能够将理论知识与实际应用相结合。
学生特点:考虑到学生所在年级,他们在前期课程中已掌握了基本的编程知识和数据库应用,具备一定的自学能力和团队协作精神。
教学要求:在教学过程中,教师应注重引导学生自主探究、动手实践,鼓励学生提出问题、解决问题。
同时,关注学生的个体差异,给予个性化指导,确保每位学生都能在课程中取得实质性的进步。
通过本课程的学习,使学生能够达到以上设定的课程目标,为后续相关课程打下坚实基础。
二、教学内容1. 教学大纲:a. 停车场管理系统概述:介绍停车场管理系统的基本概念、功能和应用场景。
b. 系统需求分析:讲解如何进行需求分析,明确系统所需实现的功能和性能要求。
c. 系统设计:包括数据库设计、界面设计和模块设计,阐述各部分的设计原则和实现方法。
d. 编程实现:利用所学编程语言(如Python、Java等),实现停车场管理系统的核心功能。
e. 系统测试与优化:教授测试方法,分析测试结果,提出优化策略。
2. 教学内容安排与进度:a. 概述(1课时):引导学生了解停车场管理系统的背景和意义。
b. 需求分析(2课时):指导学生进行实际需求分析,明确系统目标。
停车场管理系统—C语言课程设计
停车场管理系统1题目要求设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。
车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。
如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车站。
停车站内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车站为它让路,待其开出停车场后,这些车辆再依原来的次序进场。
每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。
如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。
编制一程序模拟该停车场的管理。
【基本要求】要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场是的停车时间及它应该交的费用。
2需求分析根据题目要求,因为停车场是一个单条的序列,可以用结构体实现;在程序中,需要知道每辆来车的具体停放位置,应提供提示、查找、标记工作。
车辆离开要计时计费。
另外,每天开始时,停车场要初始化。
3总体设计这个系统可以分为:初始化、有车进入、有车离开、退出四个模块。
4详细设计main()函数体内包含了界面选则部分menu(),并单独Array抽出来作为一个独立函数,目的在于系统执行每部分模块后能够方便返回到系统界面。
即main()函数写为如下:void main()/*主函数*/{menu();/*菜单函数*/}菜单函数:void menu(){int n,w;do{puts("\t\t**************MENU**************\n\n");puts("\t\t\t 1.初始化");puts("\t\t\t 2.有车进入");puts("\t\t\t 3.有车离开");puts("\t\t\t 4.退出");puts("\n\n\t\t*********************************\n");printf("Please choice your number(1-4): [ ]\b\b");scanf("%d",&n);if(n<1||n>4)/*对选择的数字作判断*/{w=1;getchar();}else w=0;}while(w==1);switch(n){case 1:chushi();break;/*初始化函数*/case 2:jinru();break;/*车辆进入函数*/case 3:likai();break;/*车辆离开函数*/case 4:exit(0);/*退出*/}}初始化模块设计:【需求分析】该模块是将每一天开始的停车场内和便道车位清零。
停车管理系统课程设计
停车管理系统课程设计一、课程目标知识目标:1. 让学生理解停车管理系统的作用和重要性,掌握其基本组成部分及功能。
2. 使学生掌握数据结构中与停车管理系统相关的基础知识,如队列、栈等。
3. 帮助学生了解并运用编程语言(如Python或C++)实现简单的停车管理系统。
技能目标:1. 培养学生运用数据结构解决实际问题的能力,能够设计并优化停车管理系统的数据模型。
2. 提高学生的编程能力,使其能够独立完成一个简单的停车管理系统的代码编写和调试。
3. 培养学生团队协作和沟通能力,通过小组合作完成课程项目。
情感态度价值观目标:1. 激发学生对计算机科学和信息技术领域的兴趣,培养其主动学习的态度。
2. 培养学生关注社会问题,认识到信息技术在解决实际生活中的重要作用,增强社会责任感。
3. 引导学生树立正确的价值观,认识到技术应服务于社会,遵循道德规范,保护用户隐私。
本课程针对高年级学生,已具备一定的数据结构知识和编程基础。
课程性质为实践性较强的综合应用课程,旨在通过停车管理系统这一实际案例,使学生将所学知识综合运用到实际项目中。
教学要求注重培养学生的实践能力、创新思维和团队协作能力,通过分解课程目标为具体的学习成果,使学生在完成课程后能够达到预期的知识和技能水平。
二、教学内容1. 停车管理系统概述:- 系统功能介绍- 系统在实际生活中的应用案例2. 数据结构基础:- 队列与栈的应用- 哈希表的原理与实现3. 编程语言选择与使用:- Python/C++语言基础- 编程规范与调试技巧4. 停车管理系统设计与实现:- 系统需求分析- 数据模型设计- 算法设计与优化- 代码编写与测试5. 课程项目:- 小组分工与协作- 项目进度安排与汇报- 项目评价与反馈教学内容根据课程目标,结合课本相关章节,制定以下教学大纲:第1周:停车管理系统概述,数据结构基础第2周:编程语言选择与使用,编程规范与调试技巧第3-4周:停车管理系统设计与实现(需求分析、数据模型设计、算法设计)第5-6周:停车管理系统设计与实现(代码编写与测试)第7周:课程项目启动,小组分工与协作第8周:课程项目中期汇报,项目评价与反馈第9周:课程项目总结,成果展示与分享教学内容科学系统,注重理论与实践相结合,旨在提高学生的实际操作能力和创新思维。
停车场管理课程设计报告
停车场管理一、课程设计题目内容(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. 学生能够通过团队协作,完成停车场管理系统的设计、开发和测试;4. 学生具备分析和解决停车场管理系统中问题的能力。
情感态度价值观目标:1. 学生通过学习停车场管理系统课程,增强对计算机科学和信息技术领域的兴趣和热情;2. 学生在课程学习过程中,培养良好的团队合作精神和沟通能力;3. 学生能够认识到停车场管理系统在实际生活中的应用价值,关注社会发展和科技创新;4. 学生在学习过程中,树立正确的价值观,关注环境保护和资源合理利用。
课程性质:本课程为信息技术课程,旨在让学生结合现实生活中的问题,运用所学知识设计和开发停车场管理系统。
学生特点:学生具备一定的编程基础,对信息技术领域有一定了解,具备探索精神和动手能力。
教学要求:课程要求学生在理解停车场管理系统原理的基础上,动手实践,培养解决实际问题的能力。
教学过程中注重培养学生的团队合作和沟通能力,提高学生的综合素质。
通过课程目标的分解和实施,确保学生能够达到预期学习成果。
二、教学内容1. 停车场管理系统概述- 停车场管理系统的作用和功能- 常见停车场管理系统的案例分析2. 系统需求分析- 了解停车场管理系统的业务流程- 学习如何进行系统需求分析- 编写系统需求规格说明书3. 系统设计- 学习系统架构设计- 数据库设计与数据表结构设计- 系统模块划分与功能设计4. 编程语言与开发工具- 选择合适的编程语言(如Java、C#等)- 学习使用相关开发工具(如Eclipse、Visual Studio等)5. 系统实现- 编写系统各模块的代码- 集成各个模块,实现系统整体功能- 学习调试程序,解决开发过程中遇到的问题6. 系统测试与优化- 制定测试计划,进行系统功能测试- 分析测试结果,优化系统性能- 评估系统可靠性、稳定性和安全性7. 课程总结与展示- 学生团队展示停车场管理系统成果- 分析课程学习过程中的收获与不足- 教师点评与反馈教学内容根据课程目标进行科学性和系统性的组织,与课本内容紧密关联。
停车场管理问题课程设计
停车场管理问题课程设计一、教学目标本课程旨在通过停车场管理问题的研究,让学生掌握城市规划与管理的基本知识,提高解决实际问题的能力。
具体目标如下:1.知识目标:学生能理解停车场在城市交通系统中的作用,掌握停车场规划与管理的基本原理和方法。
2.技能目标:学生能运用所学知识对停车场管理问题进行分析,并提出合理的解决方案。
3.情感态度价值观目标:学生能认识到停车场管理问题对城市交通和环境的影响,培养关爱城市、积极参与城市管理的情感态度。
二、教学内容本课程主要内容包括停车场管理问题的背景、停车场规划与管理的基本原理、停车场管理方法的实践应用等。
具体安排如下:1.停车场管理问题的背景:介绍停车场在城市交通系统中的作用,以及停车场管理问题在现实生活中的体现。
2.停车场规划与管理的基本原理:讲解停车场规划与管理的基本概念、原则和方法。
3.停车场管理方法的实践应用:分析各种停车场管理方法的优缺点,以及如何在实际中运用这些方法。
三、教学方法为提高学生的学习兴趣和主动性,本课程采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
具体运用如下:1.讲授法:用于讲解停车场管理问题的背景、基本原理和方法。
2.讨论法:学生针对实际案例进行讨论,培养学生的分析问题和解决问题的能力。
3.案例分析法:分析典型的停车场管理案例,让学生了解停车场管理问题的实际情况。
4.实验法:安排学生进行停车场管理模拟实验,提高学生的实践操作能力。
四、教学资源为支持本课程的教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统、全面的知识体系。
2.参考书:提供相关的参考书籍,拓展学生的知识视野。
3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高学生的学习兴趣。
4.实验设备:准备停车场管理模拟实验所需的设备,让学生亲身体验停车场管理的过程。
五、教学评估为全面、客观地评估学生在停车场管理问题课程中的学习成果,我们将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解能力。
停车场管理系统课程设计报告 最终版
目录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) 以栈模拟停车场,以队列模拟车场外的便道,按照从终端输入的数据序列进行模拟管理。
停车场管理系统课程设计
一、课程设计内容1.有一个两层的停车场, 每层有6个车位, 当第一层车停满后才允许使用第二层. ( 停车场可用一个二维数组实现, 每个数组元素存放一个车牌号 ) 每辆车的信息包括车牌号, 层号, 车位号, 停车时间共4项. 其中停车时间按分钟计算2. 假设停车场初始状态为第一层已经停有4辆车, 其车位号依次为1—4 , 停车时间依次为20, 15, 10 , 5 . 即先将这四辆车的信息存入文件”car.txt”中( 数组的对应元素也要进行赋值 )3. 停车操作: 当一辆车进入停车场时, 先输入其车牌号, 再为它分配一个层号和一个车位号(分配前先查询车位的使用情况, 如果第一层有空则必须停在第一层), 停车时间设为5 , 最后将新停入的汽车的信息添加文件”car.txt”中, 并将在此之前的所有车的停车时间加5.4. 收费管理(取车): 当有车离开时, 输入其车牌号, 先按其停车时间计算费用, 每5分钟0.2元. (停车费用可设置一个变量进行保存), 同时从文件”car.txt”中删除该车的信息, 并将该车对应的车位设置为可使用状态(即二维数组对应元素清零). 按用户的选择来判断是否要输出停车收费的总计.5. 输出停车场中全部车辆的信息.6. 退出系统.实验程序流程图停车输入2输入0 开始 输出提示信息,进入选项1-停车 2-取车 3-退出系统输入1 进入管理系统 进入停车流程 退出管理系统 车离开停车场开始 进入停车场管理系统 判断一楼是否有空位 车停入一楼 车停入二楼 输入停车信息,车牌号,车位,停车让时间(预设为5 ) 车进入停车场Y N取车开始进入管理系统输入取车的信息(车牌号或车位号)弹出取车信息(车牌号,车位号,停车费用)车离开停车场实验源程序#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>#define N 12void park();//停车void getout();//取车并计算停车费用int x=4;int Time=0;struct C{char car_number[8];//车牌号int fooler;//层数int carport;//车位号int time;//停车时间}Car[N]={{"031098X",1,1,20},{"223X334",1,2,15},{"47328J3",1,3,10},{"3232G34",1, 4,5}};//初始化void main(){char choose,ch='\0';FILE*fp=NULL;fp=fopen("car.txt","aw");if(fp==NULL){printf("\n 打开文件失败!\n");return;}fprintf(fp," 车牌号码层数车位号停车时间\n");for(int i=0;i<=3;i++){fprintf(fp,"%10s%5d%5d%10d\n",Car[i].car_number,Car[i].fooler,Car[i].carport,Ca r[i].time);}do{printf("请输入选择的编号:(0--2)\n");system("cls");printf("*********************************\n"); printf("1--- 停车\n");printf("2--- 取车,并计算停车费用\n");printf("0--- 退出\n");printf("********************************\n"); choose=getch();switch(choose){case '1':park();break;case '2':getout();break;case '0':exit(0);default : printf("您输入的为非法选项!\n");}printf("要继续吗?(Y or N)");scanf("%c",&ch);}while (ch=='Y'||ch=='y') ;}void park(){FILE*fp=NULL;fp=fopen("car.txt","w");if(fp==NULL){printf("\n 打开文件失败!\n");return;}printf("请输入车牌号码(以#开头):");do{//gets(Car[x].car_number);getchar();gets(Car[x].car_number);// scanf("%s",&Car[x].car_number);}while(strcmp(Car[x].car_number," ")==0);for(int j=0;j<=11;j++){if(Car[j].fooler==0){if(j<6)Car[x].fooler=1;else if (j>=6)Car[x].fooler=2;Car[x].carport=++j;break;}}Car[x].time=Time;for(int i=0;i<=x;i++){ Car[i].time+=5;}printf("登记成功!\n");printf(" 车牌号码层数车位号停车时间\n");printf(" %5s%5d%5d%10d\n",Car[x].car_number,Car[x].fooler,Car[x].carport,Car[x] .time);fprintf(fp," 车牌号码层数车位号停车时间\n");for(i=0;i<=x;i++)fprintf(fp,"%10s%5d%5d%10d\n",Car[i].car_number,Car[i].fooler,Car[i].carport,Ca r[i].time);x++;}void getout(){struct C temp={0};double M=0;FILE*fp=NULL;fp=fopen("car.txt","w");if(fp==NULL){printf("\n 打开文件失败!\n");return;}printf("请输入您停车的车位号:");//改成车位号比较方便计算(1234车位号已经初始化了)// getchar();//吃掉一个字符// gets(temp.car_number);scanf("%d",&temp.carport);// for(int i=0;i<=x;i++)//{//if(!strcmp(temp.car_number,Car[x].car_number))// break;//}for(int i=0;i<=x;i++){if(temp.carport==Car[i].carport)break;}if(i>x){printf("无此辆车的记录!\n");return ;}else{M=(double)Car[i].time*0.2;printf("停车费用为:%5.1f\n",M);}Car[i].fooler=0;fprintf(fp," 车牌号码层数车位号停车时间\n");for(i=0;i<=x;i++){while(Car[i].fooler!=0)fprintf(fp,"%10s%5d%5d%10d\n",Car[i].car_number,Car[i].fooler,Car[i].carport,Ca r[i].time);return ;}}。
停车场管理系统课程设计报告.doc
停车场管理系统课程设计报告重庆科技学院《面向对象程序设计》课程设计报告学校:电气与信息工程学院:规划系2010年1月8日。
讲师XXXX评论: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _结果(五级评分系统): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _指导者(签名): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _字数据。
重庆科技学院课程设计任务书设计主题: 学生姓名停车场管理系统设计廖帅霖课程名称面向对象课程设计专业班级计划部2007年1月8日晋升。
停车场管理系统课程设计报告
重庆科技学院《面向对象程序设计》课程设计报告学院:_ 电气与信息工程学院_ 专业班级:计科12-04 学生姓名:田园学号: 2012442095设计地点(单位)________计算机自主学习中心 ___ _____设计题目:_____ _ 停车场管理系统__ ____完成日期: 2013 年1月18日指导教师评语: ______________________ __ ________________________________________________________________________________________________________________________________________________________________________________________________________________________ __________ _成绩(五级记分制):______ __________指导教师(签字):________ ________摘要当今社会,停车场管理电脑化已经成为了停车场管理的不可缺少的一项重要内容,随着停车车辆的不断增加,停车场对停车的管理越来越复杂,所以要实现对停车的正确管理是必不可少的。
本次课程设计就是为了对停车基本的信息及其停车费用的管理做一个简单的表现,主要实现对停车的信息录入,修改,删除,显示,添加,查找等几个方面的功能。
而要实现这些功能,首先要建一个数组,将所有停车的信息都统筹起来,而且通过C++建立类的方式完成这些过程,并且能准确明显的显示每辆停车的基本信息和对其资费的管理。
通过如此对停车的管理,可以达到对停车信息的准确管理。
关键词:停车场管理数组 C++ 类重庆科技学院课程设计任务书设计题目:停车场管理系统设计2013年1月1日目录1.软件需求分析说明书主要介绍该软件具有哪些详细的功能,及软件的界面要求、数据结构要求等(要把软件的所有的功能全部写在该部分)1.课程设计的目的和要求1.1 综合要求和目的:C++语言课程设计的主要目的是培养学生综合运用C++语言程序设计课程所学到的知识,编写C++程序解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯。
停车场管理系统详细设计报告
停车场管理系统详细设计报告08软件工程(2)张伟东1.引言传统停车场管理存在着管理成本高、劳动强度大、服务效率低、资金流失和车辆失窃严重等各种弊端,无法保障投资者的收益及停放车辆的安全,因而严重制约了停车场事业的发展。
本图像型感应卡停车场管理系统借鉴了国际上发达国家同行业的先进管理模式,采用了国际上最先进的感应式IC卡、单片及微型计算机技术,结合本国实际情况开发了具有完全自主知识产权及核心技术的停车场管理系统。
该系统采用非接触式操作,具有方便快捷、收费准确、稳定可靠、适合国情、安全性好、形式灵活、功能强大等众多优点。
1.1编写目的停车场电脑收费管理系统是现代化停车场车辆收费及设备自动化管理的统称,是将车场完全置于计算机管理下的高科技机电一体化产品。
根据多年设计、安装停车场收费系统的实际经验,我们在软件和系统设计上为停车场提供了一套最严格、最先进、易用、便于维护和运行可靠的收费系统;一套能有效的堵塞收费漏洞,降低操作成本,提高经济效益和减轻劳动强度,提高工作效率的现代化收费管理系统随着时代的发展,私家车越来越多,而车位却十分紧张。
在市区内有很多空间没有被充分利用,大多车辆是停在路边或者简易停车场,缺乏管理,这样导致了资源的浪费,也造成了街道的拥堵。
为了适应社会的发展,大量的现代化大规模的停车场会被投入使用,但管理方面又容易出现问题。
因此,停车场管理系统的开发和应用是十分必要的1.2背景项目名称:停车场收费系统项目委托单位:**停车场软件开发单位:**单位2.总体设计2.1需求概述采用感应卡停车场管理系统,在停车场的出入口设置一套出入口管理设备,使停车场形成一个相对封闭的场所,进出车只需将IC卡在读卡箱前轻晃一下,系统即能瞬时完成检验、记录、核算、收费等工作,挡车道闸自动启闭,方便快捷地进行着停车场的管理。
进场车主和停车场的管理人员均持有一张具有自己私人密码的非接触IC卡,作为个人的身份识别,只有通过系统检验认可的IC卡才能进行操作(管理卡)或进出(停车卡),充分保证了系统的安全性、保密性,有效地防止车辆失窃,免除车主后顾之忧。
停车场管理系统数据结构课设报告
. ..数据结构课程设计停车场管理系统目录一、课设目的 (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)。
目录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) 以栈模拟停车场,以队列模拟车场外的便道,按照从终端输入的数据序列进行模拟管理。
每一组数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码、以及到达或离去的时刻。
对每一组数据进行操作后的信息为:若是车辆到达,则输出汽车在停车场的内或便道上的位置:若是车辆离去则输出汽车在停车场内的停留时间和应缴纳的费用(在便道上的停留时间不收费)。
栈以顺序结构实现,队列以链表结构实现。
(2) 友好性:界面要友好,输入有提示,尽量展示人性化。
(3) 可读性:源程序代码清晰、有层次,必要时给出注释。
(4) 健壮性:用户输入非法数据时,系统要及时给出警告信息。
(5) 测试数据:要求使用全部合法数据、整体非法数据、局部非法数据进行程序测试,以保证程序的稳定。
测试数据及测试结果请在上交的资料中写明。
3.2 停车场管理系统的主要功能(1) 根据车辆到达停车场到车辆离开停车场时所停留的时间进行计时收费。
(2) 该程序设计能够通过车牌号查到该车辆在停车场或便道中的位置。
(3) 当有车辆从停车场离开时,等待的车辆按顺序进入停车场停放。
实现停车场的调度功能。
该程序设计可以完整的模拟停车场的管理过程。
4概要设计4.1数据库设计(1)栈的抽象数据类型定义AST Stack{数据对象:D={ai|ai∈ElemSet,i=1,2,...,n, n≥0}数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,...,n}约定an端为栈顶,a1端为栈底。
基本操作:InitStack(&S)操作结果:构造一个空栈S。
DestroyStack(&S)初始条件:栈S已存在。
操作结果:栈S被销毁。
ClearStack(&S)初始条件:栈S已存在。
操作结果:将栈S清为空栈。
tackEmpty(S)初始条件:栈S已存在。
操作结果:若栈S为空栈,则返回TRUE,否则FALSE。
StackLength(s)初始条件:栈S已存在。
操作结果:返回S的元素个数,既栈的长度。
GetTop(S,&e)初始条件:栈S已存在且非空。
操作结果:用e返回S的栈顶元素。
Push(&S,e)初始条件:栈S已存在。
操作结果:插入元素e为新的栈顶元素。
Pop(&S,&e)初始条件:栈S已存在且非空。
操作结果:删除S的栈顶元素,并用e返回其值。
StackTraverse(S,visit())初始条件:栈S已存在且非空。
操作结果:从栈底到栈顶依次对S的每个数据元素调用函数visit()。
一旦visit()失败,则操作失效。
}ADT Stack(2)队列的抽象数据类型定义ADT Queue{数据对象:D={ai|ai∈ElemSet,i=1,2,...,n,n≥0}数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,...,n}约定其中a1端为队列头,an为队列尾。
基本操作:InitQueue(&Q)操作结果:构造一个空队列Q。
DestroyQueue(&Q)初始条件:队列Q已存在。
操作结果:队列Q被销毁,不再存在。
ClearQueue(&Q)初始条件:队列Q已存在。
操作结果:将Q清为空队列。
QueueEmpty(Q)初始条件:队列Q已存在。
操作结果:若Q为空队列,则返回TRUE,否则FALSE。
QueueLength(Q)初始条件:队列Q已存在。
操作结果:返回Q的元素个数,即队列的长度。
GetHead(Q,&e)初始条件:Q为非空队列。
操作结果:用e返回的队头元素。
EnQueue(&Q,e)初始条件:队列Q已存在。
操作结果:插入元素e为Q的新的队尾元素。
DeQueue(&Q,&e)初始条件:Q为非空队列。
操作结果:删除Q的队头元素,并用e返回其值。
QueueTraverse(Q,visit())初始条件:Q已存在且非空。
操作结果:从队头到队尾,依次对Q的每个数据元素调用函数visit()。
一旦visit()失败,则操作失败。
}ADT Queue4.2函数及功能要求(1)此停车场管理系统,主要分为以下若干模块:首先定义用来模拟停车场的堆栈以及用来模拟通道的链队列为全局变量,然后编写主函数,在此主函数中实现对其它各个模块的调用。
在主函数中首先调用option()函数,出现欢迎用户使用的主界面,然后提示用户进入此停车场管理系统后,再出现一个供用户选择的界面,在用户的选择过程中,程序又分别调用车辆的到达、车辆的离开、停车场内停放车辆的信息以及退出程序这四个函数模块。
其中,在车辆的离开那个模块函数中又调用了打印离开车辆信息的函数,在停车场内停放车辆信息的那个模块函数中,又分别调用了显示停车场上车辆信息的函数以及显示便道上车辆信息的函数。
最后,从调用的这四个函数中回到主函数结束整个程序的运行。
(2)在以上各个模块中,出现的调用的函数为:void InitStack(SeqStackCar *s);int InitQueue(LinkQueueCar *Q);option();int Arrival(SeqStackCar *Enter,LinkQueueCar *W);void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W);void PRINT(CarNode *p);void List(SeqStackCar S,LinkQueueCar W);void List1(SeqStackCar *S);void List2(LinkQueueCar *W);5 详细设计5.1 数据结构的设计程序中使用了一个类,五个结构体,两个栈(模拟停车场,其中一个为临时栈),一个队列(模拟便道)。
(1)车辆信息的表示车辆可看成是一个节点,设计成一个结构体,车辆信息包括:车牌号码,车辆的进站时间和离开停车场的时间,定义如下:typedef struct node{char num[10]; //车牌号码Time reach; //到站时间Time leave; //离开时间}CarNode;(2)时间、栈和队列的定义时间是由小时和分钟表示的,有两部分数据,设计两个变量分别存储小时和分钟,定义如下:typedef struct time{int hour;int min;}Time;停车场内用栈表示:typedef struct NODE{CarNode *stack[MAX+1]; //栈用顺序表示 int top;}SeqStackCar;SeqStackCar Enter,Temp; InitStack(&Temp)在车辆离开时,应用temp临时栈把将要离开的车辆后续车辆压入,等车辆离开后压回原栈stack。
便道上的车辆表示:typedef struct car{CarNode *data; // 便道上的车用链表表示struct car *next;}QueueNode;typedef struct Node{QueueNode *head;//设置头指针、尾指针QueueNode *rear;}LinkQueueCar;5.2 算法的设计思想及流程图5.2.1 主要函数的功能说明(1)void InitStack(SeqStackCar *);//车辆节点进栈。
即当栈未满时,就把到达的车辆进栈。
(2)int InitQueue(LinkQueueCar *);//车辆节点进队列。
即当栈已满时,车辆就进入便道上的队列中(3)int Arrival(SeqStackCar *,LinkQueueCar *);//车辆到达登记。
即车辆到达时,先登记车辆车牌号码。
然后再判断停车场有没有停满,没停满就进栈,停满了就停在便道上,即进队列。
(4)void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *);//车辆离开处理。
即通过输入离开车辆的位置处理,然后调用PRINT(CarNode *p,int room);函数进行收费。
然后再判断便道上有没有车,如果有,就把便道上的车进停车场内。
(5)void List(SeqStackCar,LinkQueueCar);//显示车场内和便道上的车辆情况。
利用switch();函数选择显示车场内或是便道上的车辆情况,包括对下面两个子函数的调用: void List1(SeqStackCar *S);void List2(LinkQueueCar *W);//分别用来显示车场和便道上的车辆情况(6)void PRINT(CarNode *p,int room);//车辆离开时的收费。
即这个函数由车辆离开的函数调用,以分钟计时算费,但只能计算当天之内的费用,如果第二天的话会导致计费为负或减少。