停车场管理系统C++课程设计报告.docx
《停车场管理系统C++课程设计报告.docx》由会员分享,可在线阅读,更多相关《停车场管理系统C++课程设计报告.docx(29页珍藏版)》请在冰点文库上搜索。
停车场管理系统C++课程设计报告
重庆科技学院
《面向对象程序设计》课程设计报告
学院:
电气与信息工程学院专业班级:
计科升2013-01
学生姓名:
廖帅林学号:
34
设计地点(单位)1514
设计题目:
停车场管理系统设计
完成日期:
2016年1月8日
指导教师评语:
成绩(五级记分制):
指导教师(签
重庆科技学院
课程设计任务书
设计题目停车场管理系统设计
学生姓名
廖帅林
课程名称
面向对象课程设计专业班级
计科升2013-01
地点
I514起止时间
12月28日〜1月8日
设计内容及要求
1)问题描述
定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、到达
的时间和离开的时间等信息和相关的对属性做操作的行为。
定义一个管理类,完成对停车场的管理。
停车场的具体要求:
设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。
汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,则排在便道上的第一辆车即可开入;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。
2)功能要求
(1)添加功能:
程序能够添加到达停车场的车辆信息,要求车辆的车牌号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:
可根据车牌号、车型等信息对已添加的停车场中的车辆信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;
(3)显示功能:
可显示当前系统中所有车辆的信息,每条记录占据一行。
(4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意车牌号的唯一性。
(5)删除功能:
主要实现对已添加的车辆记录进行删除。
如果当前系统中没有
相应的人员记录,则提示“记录为空!
”并返回操作。
(6)统计功能:
能统计停车场中车辆的总数、按车型、按到达时间进行统计等。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写
课程设计报告。
设
计
参
数
(1)系统分析、设计正确。
(2)结果以图表方式显示。
(3)界面简洁、美观。
(4)报告格式规范。
进
度要求
周一:
明确设计任务,学习相关基础知识周二:
熟悉各知识点,进行基础练习周三:
根据题目要求,进行设计和实现周四:
根据题目要求,进行设计和实现周五:
程序测试
参考资料
[1]RichardJohnsonbaugh.MartinKalin.《面向对象程序设计一C+■语言描述》.
机械工业出版社.2009年
[2]钱能.《C++语言程序设计教程》.清华大学出版社.2005年
苴
丿、
它
一份
说1•本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,
曲由负责教师留用。
2.若填写内容较多可另纸附后。
明
〔3.—题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
教研室主任:
王双明指导教师:
焦晓军
2015年1月8
摘要
该系统是用C++语言编写的一个简单的操作系统,在汇编环境下,用户可以按照界面的提示,选择不同的功能。
该车库管理系统主要的设计方法是定义了两个类(Car和Manage)。
Car类中定义了一些Car的基本属性,得到信息的函数和输出信息的函数,Manage(管理类)中主要实现车辆信息的添加,删除,查询,显示,统计和修改功能。
该系统可以大大的节省管理者的时间和资源,也对所管理的对象的效率是非常高的。
关键词:
C++停车场管理系统函数功能
摘要III
目录IV
第一章软件需求分析.1
软件需求.1
系统中各功能函数的关系图.1
第二章系统分析与设计.4
系统运用的语言.4
类的定义.4
类中各函数执行的流程图.6
主要函数功能实现.14
第三章软件的实现.14
第四章系统的调试.20
主界面的调试.20
查询功能的调试.21
编辑功能的调试.22
统计的调试.23
删除的调试.23
第五章总结.24
致谢25
参考文献26
第一章软件需求分析
软件需求
本程序是运用C++语言编写的系统。
其功能是对在库的车辆信息进行有效的管理,所以该系统主要面对的是停车场管理员。
停车场管理员可以根据本系统的操作提示完成对所需要管理的对象进行有效的管理。
在本系统中有很多功能,例如可以输入新的车辆信息,包括车辆的车牌号码、车的颜色、车的入库时间、车型、停车所交的费用等等。
所以本系统不失为一个管理车辆的有效系统,尤其是面对对车辆需要有效管理的停车场、车站、二手车交易市场等等。
系统中各功能函数的关系图
主界面与各功能函数的关系:
功功功功功功
图主界面与各功能函数关系图
添加函数功能:
继续添加
查询函数功能:
图添加函数功能图
显示函数功能:
图查询函数功能图
显示界面
显示车库所有车辆信息
图显示函数功能图
主界面
库为空,提示记录为空
图库为空显示函数功能图
编辑函数功能:
图编辑函数功能图
删除函数功能:
给出提示信息
图删除函数功能图
第二章系统分析与设计
系统运用的语言
本系统主要是运用面对对象C++语言所编写的软件。
运用了类的定义以及一些成员函数等等。
本系统中主要运用面对对象C++语言对本系统的主要对象car进行类的定义,然后再运用Manage类的一些函数功能来实现。
类的定义
其中Car中的类成员如下:
表2-1Car类成员表
stringnumber;
车牌号(受保护成员变量)
stringcolor;
车的颜色(受保护成员变量)
stringtype;
车型(受保护成员变量)
stringintime;
车入库时间(受保护成员变量)
stringouttime;
车出库时间(受保护成员变量)
voidsetouttime(strings)
设置出库时间函数
stringGetouttime()
得到出库时间
voidsetnumber(strings)
设置车牌号函数
stringGetnumber()
得到车牌号函数
voidsetcolor(strings)
设置车的颜色
stringGetcolor()const
得到车得颜色
voidsetintime(strings)
设置入库时间函数
voidsettype(strings)
设置车型函数
stringGettype()
得到车型原函数
stringGetintime()
得到入库时间函数
voidoutput()
输出成员变量的函数
voidinput()
输入信息的函数
Manage中类成员如下:
表2-2Manage类成员表
intcount
下标(私有成员变量)
intcapacity
最大存储容量(私有成员变量)
boolAdd()
添加函数
VoidDisplay。
显示函数
VoidSearch()
查找函数
VoidDelete()
删除函数
VoidEdit()
编辑函数
VoidTotle()
统计函数
Carcar[500]
定义一个Car类的对象
类中各函数执行的流程图
添加函数流程图:
添加到car数
显示函数流程图:
Count+1,给出提示信息
结图束2
x
添加函数流程图
编辑函数流程图:
显示函数流程图
编辑函数流程图
删除函数流程图:
删除函数流程图
按照本系统的功能,首先定义了一个类Car,其代码如下:
classCar
protected:
stringnumber;etnumber())
{
cout<<"本车辆已经添加!
"<returntrue;
}
}
car[count++].input();
cout<<"添加成功"<returntrue;
}
voidSearch()车牌号进行查询2.按车型进行查询"<intA;
cin>>A;
stringB;
stringC;
if(count==0)
{cout<<"记录为空!
"<switch(A)
{
case1:
{
cout<<"请输入你要查询的车牌号:
";
cin>>B;
for(inti=0;i{
if(B==car[i].Getnumber())
car[i].output();
break;
}
cout<<"记录为空!
"<}
};break;
case2:
{
cout<<"请输入你要查询的车的车型号
cin>>C;
for(inti=0;i{
if(C==car[i].Gettype())
{
car[i].output();
break;
}
cout<<"记录为空!
"<}
};break;
}
}
voidDisplay()utput();
}
}
boolEdit()etnumber())
{
car[i].output();
b=i;
break;
}
cout<<"记录为空!
"<}
cout<<"0.修改车牌号1.修改颜色2.修改车型3.修改入库时间4.修改出库时间5.退出修改界面"<cout<<"请输入你的选择:
";
cin>>c;
switch(c)
{
case0:
cout<<"将车牌号修改为:
";
cin>>d;
car[b].setnumber(d);
cout<<"修改成功!
"<break;
case1:
cout<<"将车的颜色改为:
";
cin>>d;
car[b].setcolor(d);
cout<<"修改成功!
"<break;
case2:
cout<<"将车的车型改为:
";
cin>>d;
car[b].settype(d);
cout<<"修改成功!
"<break;
case3:
cout<<"将车的入库时间改为:
";
cin>>d;
car[b].setintime(d);
cout<<"修改成功!
"<case4:
cout<<"将车出库时间改为:
";
cin>>d;
car[b].setouttime(d);
cout<<"修改成功!
"<break;
case5:
cout<<"你已成功退出修改界面"<break;
}
returntrue;
}
voidDelete()etnumber())
for(intj=i;j"<cout<<"0.退出添加功能界面
"<cout<<"请输入你选择的编号:
";
cin>>b;
switch(b)
{
case1:
();break;
case0:
cout<<"你已成功退出添加功能界面"<}
}
voidSearch1()
{
intb;找车辆具体信息
"<
"<cout<<"请输入你选择的编号:
";
cin>>b;
switch(b)
{
case1:
();break;
case0:
cout<<"你已成功退出查询功能界面"<}
}
voidDisplay1()
{
intb;示车辆具体信息"<cout<<"0.退出显示功能界面
"<cout<<"请输入你选择的编号:
";
cin>>b;
switch(b)
{
case0:
cout<<"你已成功退出显示功能界面"<case1:
();break;
}
}
voidDelete1()
{
intb;除车辆具体信息"<cout<<"请输入你选择的编号
cin>>b;
switch(b)
case0:
cout<<"你已成功退出删除功能界面"<case1:
();break;
}
voidEdit1()
{
intb;辑车辆具体信息"<cout<<"0.退出编辑功能界面
"<cout<<"请输入你选择的编号:
";
cin>>b;
switch(b)
case0:
cout<<"你已成功退出编辑功能界面"<case1:
();break;
}
}
voidTotle1()
{
intb;计车辆具体总数"<cout<<"0.退出统计功能界面
"<cout<<"请输入你选择的编号:
";
cin>>b;
switch(b)
case0:
cout<<"你已成功退出统计功能界面"<case1:
();break;
}
}
第三章
软件的实现
主函数主要代码如下:
Managea;加车辆信息功能******"<cout<<"请输入你的选择:
"<cin>>a;
switch(a)
{
case0:
cout<<"你已经安全退出系统,欢迎你下次使用!
"<case1:
Add1();break;
case2:
Search1();break;
case3:
Display1();break;
case4:
Delete1();break;
case5:
Edit1();break;
case6:
Totle1();break;
}
}while(a!
=O);
return0;
}
以上便是在此次课程设计中所用到的主要代码
第四章系统的调试
主界面的调试
十欢迎进人华瑞车库管理系统,
愉祕啊讨旨世対pt肯低■it■低口•■用貝键貝%貝■貝兄[胃述扌孑你娈的功寸[至貝it■%貝・・■■舟応皆口^呂直弹■料mjrtrw肯穴
请输入■你的选择;
图主界面测试图
添加功能的调试
4CMMHMK
HtNJtXit良
JHJMMHMMM
世!
MK驚議
洁瑜人你勺勺选痒;
=3
*
一【
X
二二二
X二X二
E旧:
12F间:
t申时
y
息息自賞3息辆面二豆-巳豆-豆=军^加询示養蛋■■■■■■■■■1234560
*
*
息II
=口=1
:
1拥孚
号
的加的:
dj邑型當oiT库
选
入入你入入入入入成=请请^一^请请谙添=
图添加功能测试图
查询功能的调试
■■C'^U^eirs\Adminis-trator'^De庁ktop\201B520124寒师曲(停车场鬆毬)\Debjg\.Cppl.eKe°
PT許阿・珂耗
:
青辅人你的选择*
L2345fD0
■wm车车功加询示陰改T-出fKMS^
功亩功功息息息息恵辆.冋亠豆=呈=雪^・_,
El
.S
七巴
JIKKKXJIKJtXKWJOC
仁章華钾
0.退出否备;i信息的方式:
1•按车牌号进•厅萱询趴按车型进芍查询
车的车型Sm车人库E寸耶讣
—请述提你需夢的叨能十
信息
卑窗
:
12车出库时间:
12=4G
JCJtXEJC鼻貝](宾拭第K贰H:
MSXWiM:
MM:
:
MiM:
M;M:
liKK豈
丄麻加车辆信息功龍
图按车牌号查询功能测试图
―查找主辆具怎信息
j,'虫押/乎出登询功站界面
息的方式’「按车牌号遇行查询2•按车型进行查询
澤纟篦字耋?
等麴彩4jy^a|g=i2:
i2车岀库时间:
12=«
巳出ts^Jfchw一虐兰嵩懾£果4i±±x^聖-于烽止■■>!
■■■"1234b6R
KKWJtJCBL
!
K圖JCJI
K:
K+F>tKJ«耳沌WJtJCBL
耳杜耳水兴班K此If・M:
iCXMMHMHIf梵耳耒理范耳梵耳寶X英J(KXWM.K
XKMMMMWMMMMXMKXMMMMMMMMXKMHMMXM>4MXMWMMKMKMMMMMMMMMKMMKMMMMMMXMMV4MXMMMMMMMMMM
图按车型查询功能测试图
编辑功能的调试
■'C:
\Uwr5\Administrator\DeslrtQp\i015520134^KDM<(f¥^J^^tJ\Detoug\Cppl£)ce
叵SS
HJmiCJiJC
-M.-M34KH-H
#7««-***
MLW>tK>tX
僧轴入你的选挥;
3lAh^b日业冃些:
E^.息息息息恳辆面亠一一泉豆-一兰E一^-界wsfflwtJx±±x^■■■■■■_
KK・1IW:
>I
KbtmtKlit
*?
t-*Ht-**
JCMLjMXJCJt
*«-***«:
i.
0.
aiso
|躋!
||匚跟*牌号*嘗厢詢匸篩艰丽TLttOlf'x
修钗戌加,,_
Iff■MTM:
HJC3tJOtJCHXKXatJMKJCJiXlEXItJOtXli耳:
青~i址扌¥~彳尔号帛要的寸]冃七‘疋存弭3***W餐*t**淞*魅暑梵'潘梵豪淞Matif奏MittW雀iM*if*
dl
2;刃pc.车人库时间;12:
12
车出库时间七曲
佟丽旧库时闾5J艮出修仪界由
图编辑功能测试图
统计的调试
Ir"C;\U«rs\AdminXr^tor'Dc^ktDp'^Ol5520134^帅林(停车场系劉fej'Dubug\Cppi-exe
:
1
i
车库己有£车鞭
嵩KXKXKK*X二予竹口J^]|亓E*tMtK3NtKXMXXXXKX3CKMHaCHMM^tKXMM>tK>>t>CK»bKXM
图统计功能测试图
删除的调试
图删除功能测试图
以上便为本系统功能调试结果
第五章总结
通过一周多的停车场管理系统课程设计,我深深地感觉到了面向对象C++语言在计
算机领域的重要性,同时也加深了我对书本上的知识的应用,使我编程能力,逻辑思维能力以及整个动手能力都有了很大提高。
通过编写一个微小的停车场管理系统,使我了解了什么是定义类,如何写一些成员函数等等。
总之,学到了很多以前不知道的东西。
在这次课程设计中,我虽然将这个简单微小的停车场管理系统完成了,但是在编程的过程中仍有一些地方欠思考,使编写出来的程序还不够严谨,功能还不能完善,所以我会在以后编程的过程中不断的完善自己的一种思维模式,不断的提高自己,使自己的综合能力得到进一步的提升。
经过接近一周多的课程设计,我顺利完成了停车场管理系统的设计。
这次课程设计的顺利完成,要感谢老师的耐心辅导,还要感谢我们班的学习委员唐飞浪同学,在我思维混乱的时候,帮我理清思路,,感谢他在我编程时提出宝贵的意见和建议,还有班级的其他同学,感谢他们在我困难时给予了我帮助。
参考文献
.机械工
[1]RichardJohnsonbaugh.MartinKalin.《面向对象程序设计一C++语言描述》
业出版社.2009年
[2]钱能.《C++语言程序设计教程》.清华大学出版社.2005年