停车场管理系统设计报告.docx

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

停车场管理系统设计报告.docx

《停车场管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《停车场管理系统设计报告.docx(36页珍藏版)》请在冰豆网上搜索。

停车场管理系统设计报告.docx

停车场管理系统设计报告

计算机学院计算机科学与技术专业

《程序设计综合课程设计》报告

(200*/200*学年第一学期)

 

学生姓名:

***

学生班级:

计算机

学生学号:

*************

指导教师:

**

 

200*年*月*日

 

第一章课程设计的目的和要求

一.综合要求和目的:

C语言课程设计的主要目的是培养学生综合运用C语言程序设计课程所学到的知识,编写C程序解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯。

通过课程设计的训练,学生应该能够了解程序设计的基本开发过程,掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。

C语言程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试C语言程序及编写设计报告。

二.本课程设计的目标:

1.巩固和加深学生对C语言课程的基本知识的理解和掌握

2.掌握C语言编程和程序调试的基本技能

3.掌握利用C语言进行软件设计的方法

4.提高书写程序设计说明文档的能力

5.提高运用C语言解决实际问题的能力

三.基本要求:

1.分析课程设计题目的要求

2.对系统功能模块进行分析,写出详细的设计说明文档

3.编写程序代码,代码量要求不少于300行,调试程序使其能正确运行

4.设计完成的软件要便于操作和使用

5.设计完成后提交课程设计报告

 

 

第一章课程设计的目的和要求…………………………………1

第二章课程设计任务内容………………………………………2

第三章详细设计说明……………………………………………3

3.1函数功能说明……………………………………………………3

3.2函数参数说明……………………………………………………5

3.3函数流程图………………………………………………………7

3.4编码及调试………………………………………………………12

第四章软件使用说明……………………………………………22

第五章课程设计心得与体会……………………………………23

附录一参考文献…………………………………………………24

附录二程序清单…………………………………………………25

 

第二章课程设计任务内容

计算机科学与技术学院

课程设计任务书

课程设计名称

程序设计基础综合课程设计

课程设计题目

停车场管理系统

学生姓名

蒋晓英

专业班级

计算机072002

学号

200720010206

课程设计任务内容

设计一个程序实现停车场管理系统,管理人员根据口令进入系统。

管理车位信息(车位编号,状态)和每小时的收费费率(货车7元/小时,客车5元/小时,轿车4元/小时,其他3元/小时,由停车时开始计时选择录入)。

停车时,建立对象,录入信息(车牌号,停泊位置,停泊开始时间);停车位第一个为空的位置,由程序查询自动给出车位号,如果车位已满要给出提示。

取车时,需要根据车辆停泊时间自动计算费用(半小时内以半价计算,超出半小时不足一小时按一小时计算)并显示在屏幕上。

可以随时根据车牌查询是否入库。

可以随时根据车位查询该位置上的相关信息。

可以随时从文件中查询以前的停车记录。

将车场信息保存到文件备份。

对系统功能模块进行分析,写出详细设计说明文档,编写程序代码,代码量要求不少于300行。

调试程序使其能正确运行。

 

指导教师:

刘静

时间:

2007年12月8日

第三章详细设计说明

3.1函数功能说明

该软件主要是实现对停车场进行系统化的管理,首先可以对停车场进行初始化设置,其次可以存放车辆,然后可以取走车辆并计算相应的停车费,还有就是可按车位查询此车位上的相关信息,可按车牌号查询该车是否入库、何时到达的等,可查询现在停车场的所有信息以及以前来停过的车的相关信息,而且可以对每天的车场信息进行保存备份,由此来系统化管理停车场,并达到简易操作的目的。

3.1.1功能分析说明图

该软件功能分析说明图如3-1-1所示:

 

图3-1-1

3.1.2各项功能说明

(1)停车场的初始化(Car*car_creat()):

这部分的功能主要是实现停车场的全部初始化,将所有的车位统一成一种形式,便于以后停车。

首先按程序提示输入车到达的日期(********)、车牌号(kong)、车位状态(nocar)、车停在车场的位置

(1)、车到达的时间(0000)、离开时间(0000),用一个while循环,把所有的车位都初始化成这种状态,初始化完毕后给出提示:

该车场已全部初始化

之后返回主菜单界面。

(2)停车(Car*car_park(Car*head):

此功能是实现停车操作,首先根据提示输入该车到达的日期、车牌号以及到达时间,然后根据车位状态找到空的车位停放车,此时系统给出提示:

欢迎来到我们的停车场,你的车位是第*号^_^,如果车场已全部停有车,给出提示:

车场已满,没有空位!

(3)取车(Car*car_leave(Car*head)):

进入该功能界面后,按提示输入要取走的车的车牌号,然后找到该车(如果找不到,给出提示:

车场里没有这辆车!

)输出其其他的相关信息,再根据离开的时间和停车费率,计算出应支付的停车费,并显示在屏幕上。

同时将该车的所有信息保存到文件(f:

\\f1.dat)里,以便以后查询,再将该车位还原成初始化状态。

(4)按车牌号查询是否入库(Car*search(Car*head)):

此项功能可以根据输入的车牌号找到该车,并得到其相关的所有信息,如:

到达的日期、停在车场的位置以及到达的时间。

如果没有找到,给出提示:

车场里没有这辆车!

(5)按车位查询相关信息(Car*find(Car*head)):

进入此功能,根据输入的要查看的车位号,找到该车位,显示出其相关信息:

该车位上的车的到达日期、该车位状态、车牌号、车到达的时间以及离开时间。

如果该车位上没有停放车辆,则输出的信息是其初始化设置的相关信息。

(6)查看车场的全部信息(voidprint(Car*head)):

选择此项功能后,系统将自动在屏幕上显示出停车场里所有车位上的相关

信息。

(7)保存车场信息(voidprintf(Car*head)):

选择此项功能后,系统将自动把停车场的全部信息保存到文件f2.dat里。

(8)退出系统,结束停车场管理。

 

 

3.2函数参数说明

3.2.1软件设计环境

MicrosoftVisualC++6.0

3.2.2软件模块的划分

该软件的主要组成模块和各模块之间的调用关系如图3-2-2:

 

图3-2-2

各函数模块之间的调用关系主要是主函数调用所有其它功能函数和菜单函数,并利用循环使各个功能函数运行完毕后都返回到主菜单。

3.2.3采用的主要数据结构类型

该程序采用的是结构体类型来处理停车场的所有基本信息,如下所述。

包含的库函数有:

#include#include#include

#include#include#include

包含的函数和参数有:

intmain()//主函数

Car*car_creat()//初始化停车场

Car*car_park(Car*head)//停车函数

Car*car_leave(Car*head)//取车函数

Car*search(Car*head)//根据车牌号查询函数

Car*find(Car*head)//根据车位查询函数

voidprint(Car*head)//查询车场的所有信息

voidprintf(Car*head)//保存停车场信息

Car*head//链表头指针

charc//字符型变量

intset,n//整型变量

Car*p1,*p2,*p0,p//指针变量,指向链表

intm=1//整型变量,表示找到的车位

stringnum//字符串变量,代表取走车的车牌号

intleave_hour,leave_min//整型变量,代表车离开的时间

intA,B,price//整型变量,表示停车的总时间和每小时的费率

floatfree//浮点型变量,表示停车费

包含的结构体:

structCar//声明结构体类型Car

{stringnum;//车牌号

stringstate;//车位状态

intset;//停车车位

intreach_hour;//到达时的小时点

intreach_min;//到达时的分钟点

intleave_hour;//离开时的小时点

intleave_min;//离开时的分钟点

stringreach_date[3];//停车日期

Car*next;

};

 

3.3函数流程图

一.主函数

 

图3-3-1

二.初始化车场

 

图3-3-2

三.停车函数

 

图3-3-3

四.取车函数

 

 

图3-3-4

五.根据车牌号查询是否入库

 

 

图3-3-5

六.根据车位查询相关信息

 

 

图3-3-6

七.查看车场全部信息

 

图3-3-7

 

八.保存停车场信息

图3-3-8

 

3.4编码及调试

3.4.1软件中实现各功能的函数与程序代码

一.一个包含停车全部信息的结构体

structCar

{stringnum;//车牌号

stringstate;//车位状态

intset;//停车车位

intreach_hour;//到达时的小时点

intreach_min;//到达时的分钟点

intleave_hour;//离开时的小时点

intleave_min;//离开时的分钟点

stringreach_date[3];//停车日期

Car*next;

};

二.初始化停车场函数

Car*car_creat()

{……………………………………

while(n

{

n=n+1;

set=n;

p1->reach_date[0]="****";//初始化日期

p1->reach_date[1]=p1->reach_date[2]="**";

p1->num="kong";//初始化车牌号num为kong

p1->set=set;

p1->state="nocar";//初始化车位状态为nocar(无车)

p1->reach_hour=00;//初始化所有时间为00

p1->reach_min=00;

p1->leave_hour=00;

p1->leave_min=00;

……………………………………………………………………………}

p2->next=NULL;

if(n==MAX)

cout<

return(head);}

三.停车函数

Car*car_park(Car*head)

{……………………………………

cout<

";

for(i=0;i<3;i++)cin>>p0->reach_date[i];

cout<

chuanM2266):

";//提示输入车牌号

cin>>p0->num;

cout<

";//提示录入车到达的时间

cin>>p0->reach_hour>>p0->reach_min;

…………………………………………………………………………………………

while(p1->state!

="nocar"&&p1->next!

=NULL)//车位不为空,并且后面还有车位{m=m+1;//车位号加1

p1=p1->next;//p1指向下一个车位

}…………………………………………………………………………

elsecout<

"<

…………………………………………………}

四.取车函数

Car*car_leave(Car*head)

{………………………………………p1=head;

cout<

";//提示输入要取走的车的车牌号

cin>>num;

while(num!

=p1->num&&p1->next!

=NULL)

{p1=p1->next;}

if(num==p1->num){cout<

/****/";

cin>>leave_hour>>leave_min;

………………………………………………………………

cout<

";cin>>price;

…………………………………………………………

ofstreamoutfile("f:

\\f1.dat",ios:

:

app);//打开文件f1.dat,保存取走的车的相关信息………………………………………………………

elsecout<

"<

return(head);

}

五.根据车牌号查询

Car*search(Car*head)

{…………………………………………

cout<

"cin>>num;

while(num!

=p->num&&p->next!

=NULL)

{p=p->next;}

if(num==p->num)//找到车输出相关信息

{…………………………………………………}

elsecout<

"<

………………}

六.根据车位查询

Car*find(Car*head)

{………………………………………

cout<

";cin>>set;

while(set!

=p->set&&p->next!

=NULL)

{p=p->next;}

if(set==p->set)//找到要查看的车位,输出相关的全部信息

{…………………………………………}return(head);

}

七.输出车场所有信息

voidprint(Car*head)

{………………………………………

while(nnext;}

if(getch())return;}

八.保存停车场信息

voidprintf(Car*head)

{…………………………………………………

ofstreamoutfile("f:

\\f2.dat",ios:

:

app);//打开文件f2.dat,保存车场全部信息

while(nnext;}

outfile.close();if(getch())return;}

九.菜单函数

intmain()

{………………………………………………………………………

while

(1)//停车场管理系统界面

{………………………

cout<

<<"┌──────────┐"<

<<"│停车场管理系统│"<

<<"├──────────┤"<

<<"│1.初始化车场│"<

<<"├──────────┤"<

<<"│2.停车│"<

<<"├──────────┤"<

<<"│3.取车│"<

<<"├──────────┤"<

<<"│4.按车牌查询│"<

<<"├──────────┤"<

<<"│5.按车位查询│"<

<<"├──────────┤"<

<<"│6.输出车场信息│"<

<<"├──────────┤"<

<<"│7.保存信息│"<

<<"├──────────┤"<

<<"│E.退出系统│"<

<<"└──────────┘"<

<

";……………}

3.4.2软件调试运行结果

在此,我将把软件使用过程简要写出,并对此程序的一些细节和具体的操作方法加以说明,说明如下:

1.进入程序主菜单,界面如图3-4-1:

图3-4-1

界面显示的是一个停车场管理系统,总的操作流程有八个方面:

(1)初始化停车场

(2)停车

(3)取车

(4)按车牌号查询

(5)按车位查询

(6)输出停车场信息

(7)保存停车场信息

(8)退出系统

最后是提示用户做出要软件进行怎样功能运行的选择。

2.初始化停车场:

输入1选中主菜单界面的第一个选项,出现界面如图3-4-2:

图3-4-2

在这个界面上根据提示,录入如图信息(日期:

********、车牌号:

kong、车位状态:

nocar、停车位:

1、到达时间:

0000、离开时间:

0000),按Enter将停车场里的所有车位都初始化成统一的形式,部分如图3-4-3:

图3-4-3

初始化完毕后,给出提示:

该车场已全部初始化!

操作完毕后自动返回主菜单界面

3.停车:

输入2选中主菜单界面第二个选项直接进入此界面,出现界面如图3-4-4:

图3-4-4

进入此界面进行相应的停车操作:

根据提示输入车到达的日期、车牌号以及到达的时间,按Enter然后系统会自动找空的车位,并显示在屏幕上,用户就可将车停在该车位上。

如果车场已满,系统也会给出提示:

车场已满,没有空位!

停车完毕后自动返回主菜单界面。

4.取车:

输入3选中主菜单界面的第三个选项,出现界面如图3-4-5

图3-4-5

进入界面办理相应的取车手续,根据提示输入要取走的车的车牌号、离开的时间以及每小时的停车价,按Enter系统自动根据停车时间和每小时的价位计算出应支付的停车费,并显示在屏幕上,同时系统将自动把该车在停车场的全部信

息保存到文件f1.dat,以后可查询,该车位上的信息还原成初始状态。

如果没有找到该车,则给出提示:

车场里没有这辆车!

(如图3-4-6)返回主菜单界面。

图3-4-6

5.按车牌号查询:

从主菜单界面选4输入进入程序,出现界面如图3-4-7

图3-4-7

进入程序界面,根据提示输入要找的车的车牌号,按Enter,找到该车后,系统会自动显示出该车到达的日期、停放的车位以及到达时间。

如果没有找到该车,给出提示:

车场里没有这辆车!

(如图3-4-8)之后自动返回主菜单界面。

图3-4-8

6.按车位查询:

从主菜单界面选5输入进入程序,出现界面如图3-4-9

图3-4-9

进入界面,根据提示输入要查看的车位号,按Enter键,就会显示出该车位上的所有信息,包括该车位上的车到达的日期、时间、车牌号、离开时间以及该车位的状态。

如果该车位上没有停车,显示出来的就是初始化的信息(如图3-4-10),随后自动返回主菜单界面。

图3-4-10

7.输出停车场信息:

在主菜单界面输入6进入程序,出现界面如图3-4-11

图3-4-11

界面上显示的是停车场里每个车位上的所有信息,通过此操作,管理人员可以轻松的查看到车场里的整体情况,简单、直观,之后自动返回主菜单界面。

8.保存信息:

在主菜单界面输入7进入程序,自动将停车场里的所有信息保存到文件f2.dat里,以作备份,之后返回主菜单界面。

结果如图3-4-12:

到达日期车牌号车位车位状态到达时间离开时间

2008101shanA12341havecar12:

300:

0

到达日期车牌号车位车位状态到达时间离开时间

2008101shanM56782havecar12:

500:

0

到达日期车牌号车位车位状态到达时间离开时间

2008101shanN88883havecar13:

560:

0

到达日期车牌号车位车位状态到达时间离开时间

********kong4nocar0:

00:

0

到达日期车牌号车位车位状态到达时间离开时间

********kong5nocar0:

00:

0

到达日期车牌号车位车位状态到达时间离开时间

********kong6nocar0:

00:

0

到达日期车牌号车位车位状态到达时间离开时间

********kong7nocar0:

00:

0

到达日期车牌号车位车位状态到达时间离开时间

********kong8nocar0:

00:

0

到达日期车牌号车位车位状态到达时间离开时间

********kong9nocar0:

00:

0

到达日期车牌号车位车位状态到达时间离开时间

********kong10nocar0:

00:

0

图3-4-12

9.退出系统:

输入字母E退出管理系统,结束运行。

 

第四章软件使用说明

1.停车场管理系统是一个在MicrosoftVisualC++6.0下运行的小型管理软件,用户进入菜单界面的选择,软件执行相应的功能。

在第3.4节编码及调试,我就对该软件的使用做了详细的说明,在这儿我再做一下简单的介绍:

首先可以对停车场进行初始化设置:

在主菜单界面选择1,进入程序,根据提示输入相应信息,将停车场的全部车位初始化一致的。

其次可以存放车辆:

在主菜单界面输入2,进入该功能界面,按照提示录入车辆信息,停放车辆;如果停车场已满,会给出提示。

然后可以取走车辆并计算相应的停车费:

在主菜单界面输入3,进入操作,根据提示输入车牌号、离开时间以及每小时价位,系统就会自动算出停车的费用,并显示到屏幕上;如果没有找到该车,给出相应的提示。

可按车牌号查询该车是否入库、何时到达的等:

在主菜单界面选择4,根据提示输入要查找的车的车牌号,系统会自动查

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

当前位置:首页 > 求职职场 > 社交礼仪

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

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