停车场管理系统Word格式文档下载.docx

上传人:b****6 文档编号:17191098 上传时间:2022-11-28 格式:DOCX 页数:14 大小:44.99KB
下载 相关 举报
停车场管理系统Word格式文档下载.docx_第1页
第1页 / 共14页
停车场管理系统Word格式文档下载.docx_第2页
第2页 / 共14页
停车场管理系统Word格式文档下载.docx_第3页
第3页 / 共14页
停车场管理系统Word格式文档下载.docx_第4页
第4页 / 共14页
停车场管理系统Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

停车场管理系统Word格式文档下载.docx

《停车场管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《停车场管理系统Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

停车场管理系统Word格式文档下载.docx

吉国燕、任祥、徐晟凯

指导教师

杨斌

课程设计目的

深入理解数据结构的基本理论,掌握数据存储结构的设计方法,掌握数据结构基于的各种操作的实现方法

课程设计所需环境

MicrosoftVisualC++6.0

课程设计任务要求

用数据结构的基本理论和数据存储的设计方法完成一个实际应用问题,在完成程序设计的同时能够写出比较规范的设计报告

课程设计工作进度计划

序号

起止日期

工作内容

分工情况

1

5.20---5.23

整体思路编写以及修改代码编写。

2

5.23---5.26

主函数的编写

任祥

3

数据的保存

徐晟凯

4

数据的计算及输出

吉国燕

指导教师签字:

年月日

教研室审核意见:

教研室主任签字:

目录

⒈引言1

⒉需求分析1

2.1问题描述1

2.2设计思路1

2.3运行环境及开发工具2

⒊概要设计2

3.1流程图2

3.2主要数据结构2

3.3函数及其实现的功能3

⒋详细设计4

4.1程序代码4

⒌调试与操作说明9

5.1操作说明9

⒍课程设计总结与体会10

⒎致谢11

⒏参考文献11

课程设计的主要内容

⒈引言

《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。

数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。

⒉需求分析

2.1问题描述

题目、停车场管理问题

设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。

车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。

如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。

停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。

每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。

如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。

编制一个程序模拟该停车场的管理。

[实现要求]要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。

[实现提示]汽车的模拟输入信息格式可以是:

(到达/离去,汽车牌照号码,到达/离去的时刻)。

例如,(‘A’,,1,5)表示1号牌照车在5这个时刻到达,而(‘D’,,5,20)表示5号牌照车在20这个时刻离去。

整个程序可以在输入信息为(‘E’,0,0)时结束。

本题可用栈和队列来实现。

2.2设计思路

构造三个主要的结构体

分别保存不同的数据,第一个用于保存车辆停在停车场的车辆,

第二个用于保存停在便道的车辆,第三用保存要离开的车辆,然后设计程序首先要把输入的数

据分别保存在相应的结构体里,例如当停车场里没有停满时车辆要停在停车场,因此该车辆的

相应数据要存第一个结构体里,相反要是满了就要保存在第二个结构体里,要离开的车辆要保

存在第三结构体里,同时也用到队列栈,

当数据输入完整后运行程序,输出要求输出的数据。

最后要对车辆位置进

行调整就可以了。

2.3运行环境及开发工具

运行环境MicrosoftVisualC++6.0;

开发工具C/C++

⒊概要设计

3.1流程图

(1)设计流程图

3.2主要数据结构

typedefstruct{/*用于保存每辆车的信息*/

charch;

intchehao;

inttime;

}node;

typedefstruct{/*用保存停在停车场的车辆*/

intlengh;

/*记录车辆的个数*/

nodenum[n];

}queue;

charch1;

intchepai;

inttime1;

}node1;

typedefstruct{/*保存停在便道的车辆*/

intfront,reare;

node1numb[20];

}squeue;

charch2;

intcheph;

}node2;

typedefstruct{/*保存要离开的车辆*/

inttop;

ode2number[30];

}stack1;

3.3函数及其实现的功能

voidcreate(queue&

chechang,squeue&

biandao,stack1&

departure)用于创建结构体

以及输入输出要求输出的数据,voidxugai(queue&

biandao,stack1

&

departure);

对离开的车辆进行删除在相应结构体的信息以及将可能停在便道上的车辆的信

息移到停车场的结构体里相应位置。

⒋详细设计

4.1程序代码

#include"

iostream.h"

#definen10

typedefstruct{

node2number[30];

voidmain()

{

queuechechang;

squeuebiandao;

stack1departure;

voidcreate(queue&

voidxugai(queue&

create(chechang,biandao,departure);

xugai(chechang,biandao,departure);

}

departure)

inti,j,k;

chechang.lengh=0;

biandao.front=-1;

biandao.reare=-1;

departure.top=-1;

cout<

<

"

请输入数据例如A14"

;

endl;

cin>

>

ch>

chepai>

time;

while(ch!

='

E'

||chepai!

=0||time!

=0){

if(ch=='

A'

chechang.lengh<

=n-1){

chechang.num[chechang.lengh].ch=ch;

chechang.num[chechang.lengh].chehao=chepai;

chechang.num[chechang.lengh].time=time;

chechang.lengh++;

}

elseif(ch=='

chechang.lengh>

n-1){

biandao.reare++;

biandao.numb[biandao.reare].ch1=ch;

biandao.numb[biandao.reare].chepai=chepai;

biandao.numb[biandao.reare].time1=time;

else{

departure.top++;

departure.number[departure.top].ch2=ch;

departure.number[departure.top].cheph=chepai;

departure.number[departure.top].time=time;

cin>

}

停在停车场的车车牌号停车时刻"

for(i=0;

i<

chechang.lengh;

i++){

cout<

chechang.num[i].chehao<

"

chechang.num[i].time;

;

停在便道的车车牌号停车时刻"

biandao.reare+1;

biandao.numb[i].chepai<

biandao.numb[i].time1;

车牌号停车费用停车时间"

=departure.top;

for(j=0;

j<

j++){

if(departure.number[i].cheph==chechang.num[j].chehao){

k=2*(departure.number[i].time-chechang.num[j].time);

cout<

chechang.num[j].chehao;

k;

k/2;

}

=biandao.reare;

if(departure.number[i].cheph==biandao.numb[j].chepai){

k=departure.number[i].time-biandao.numb[j].time1;

biandao.numb[j].chepai;

0"

voidxugai(queue&

biandao.reare;

while(j<

biandao.reare-1){

biandao.numb[j]=biandao.numb[j+1];

j++;

}

biandao.reare--;

chechang.lengh-1){

chechang.num[j]=chechang.num[j+1];

if(biandao.front==biandao.reare)

chechang.lengh--;

else{

k=chechang.lengh-1;

chechang.num[k].ch=biandao.numb[biandao.front+1].ch1;

chechang.num[k].chehao=biandao.numb[biandao.front+1].chepai;

chechang.num[k].time=departure.number[i].time;

⒌调试与操作说明

5.1操作说明

输入相应的数据例如(A14)代表进车辆,(D34)代表要离开的车辆,然后以E0

1,

A12

A23

A45

A36

D19

E00

5.2运行结果

停在停车场的车车牌号停车时刻

12;

23;

45;

36;

车牌号停车费用停车时间

1147

Pressangkeytocontinue

为结束条件。

车牌号停车费用停车时间

(2)运行结果图

⒍课程设计总结与体会

1)编程的核心是算法结构,数据结构又包括逻辑结构和物理结构,编程中要时刻注意这些问题。

2)调试过程远远比编程过程繁琐,需要足够的耐心对一个个错误进行修改直至完全正确。

并且调试过程也需要一定的技巧,能够选取适当的实验数据对程序进行验证,找到出错的地方以进行修正。

我这次的课程设计题目是关于停车场问题的,总体来说,这个题目还是比较简单的,主要是运用了栈和队列的一些知识和操作。

也没有用到其他太多的数据结构知识。

程序基本上还是能够运行,结果也正确,能够实现那些基本的车辆到达、离开、收费、遍历显示等主要功能。

但我觉得这个程序还有很多小的地方是可以完善的,比如:

在输入登记车辆到达时间的时候,没有相关的小时、分钟数字的限制范围——(小时0~23,分钟0~60);

这就使程序不那么健壮了,还有,在计算收费时如果离开时间是到了第二天了,这样就可能会导致收费时负的或减少很多。

就是说,还应该算天数,要不就要规定只能当天停,当天开走。

我改了几次改不好,又鉴于程序要求中也没有提及,所以我也就没去该了。

只要能实现主要的功能就好了。

当然,这次的课程设计、编程实践还是大有收获的。

通过实习我的收获如下

1、我知道了怎样去简化程序,减少他的时间复杂度和空间复杂度。

还知道了怎样去完善程序,使其更具健壮性。

2、巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。

3、培养了我选用参考书,查阅手册及文献资料的能力。

培养独立思考,深入研究,分析问题、解决问题的能力。

4、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法。

5、通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。

根据我在实习中遇到得问题,我将在以后的学习过程中注意以下几点:

1、认真上好专业实验课,多在实践中锻炼自己。

更让我懂得实践是检验和掌握真理的最好办法。

2、写程序的过程中要考虑周到,严密。

3、在做设计的时候要有信心,有耐心,切勿浮躁。

4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。

5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。

⒎致谢

感谢杨斌老师这一学期对我们孜孜不倦的教诲、传授知识以及这次对我们课程设计的指导!

另外也要感谢我们的C语言老师赵瑞斌为我们打下的良好基础!

⒏参考文献

《C语言程序设计》何钦铭,颜晖[M]-北京;

高等教育出版社,2008年1月

《数据结构》胡学钢[M]-北京;

评语:

评阅教师签名:

成绩

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1