车位管理课程设计报告Word文件下载.docx
- 文档编号:18432789
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:25
- 大小:24.10KB
车位管理课程设计报告Word文件下载.docx
《车位管理课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《车位管理课程设计报告Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
park();
~park()
boolFull();
boolEmpty();
intcount;
nodelocation[N];
classAutomobile
Automobile();
~Automobile(){}
boolenter();
boolleave();
floatTL()const;
virtualvoidPay()const=0;
virtualvoidpay();
charC[64];
charty[16];
classTruck
classCarriage
classCar
Truck();
~Truck();
voidenter1();
virtualvoidPay()const;
Carriage();
~Carriage();
Car();
~Car();
virtualvoid
pay();
mutablefloatkio[N];
mutableintnum[N];
mutablefloatgas[N];
属性和方法定义
类名
成员类别
类型
成员名
描述
park
属性
int
count
计数
Node
Location[3]
车辆信息
方法
bool
Full()
判断是否停满
Empty()
判断是否为空
Automobile
char
C[64]
车牌号
Ty[16]
车辆类型
enter()
车辆进入
leave()
车辆离开
float
TL()const
计算时间差(为方便计算,此处以秒计算)
virtualvoid
Pay()const=0
纯虚函数
pay()
车辆类型,进入时间,车牌号,
Truck
mutable
kio[N]
载重
void
enter1()
Truck进入车场
Truck离开车场车场,显示收费及载重
Pay()
显示Truck的车辆类型,进入时间,车牌号,载重量
Carriage
mutableint
num[N]
乘座人数
Carriage进入车场
Carriage离开车场车场,显示收费及乘座人数
显示Carriage的车辆类型,进入时间,车牌号,乘座人数
Car
mutablefloat
gas[N]
排气量
Car进入车场
Car离开车场车场,显示收费及排气量
显示Car的车辆类型,进入时间,车牌号,排气量
(三)用户手册
运行时
1.程序运行时,首先提示输入1,然后根据提示,输入a(b,c)按enter根据提示输入车辆类型,车牌号,对应类型车辆附加信息。
进入车站完成!
返回开始输入界面。
2.根据提示,若输入1,则进行转入1继续执行1;
如输入2,则根据提示输入a(b,c)
按enter输入要离开车辆的车牌号。
按enter输出对应车辆信息。
!
3.根据提示,若输入1,则进行转入1继续执行1;
如输入2则进行转入1继续执行2;
若输入3则显示车场中停留车辆相关信息。
4.根据提示,若输入1,则进行转入1继续执行1;
若输入,则进行转入3继续执行3;
若输入4,则保存车场中车辆信息。
5.根据提示,若输入1,则进行转入1继续执行1;
若输入4,则进行转入4继续执行4;
若输入5,则退出。
(四)调试及测试
由于公司每增加一个雇员,无论他(她)是哪一类人员,其编号均是顺序加1,也就是employee类的所有派生类对象创建时,都要访问同一个employeeNo,因此将employeeNo定义为静态数据成员。
运行实例:
请选择!
1按enter
请输入进入车场车辆:
a按enter
进入停车场!
请输入车辆类型:
Truck按enter
请输入车牌号:
123456按enter
显示进入时间:
请输入载重量:
5.5按enter
请选择:
1按enter
123abc按enter
6.5按enter
c按enter
Car按enter
1234ab按enter
请输入排气量:
1.2按enter
3按enter
显示停车场中相关信息!
4按enter
2按enter
请输入离开车场车辆类型!
请输入要离开车辆的车牌号:
显示:
要离开时间:
要离开车辆的相关信息:
车辆类型:
车牌号:
123456
收费:
载重:
5.5吨
5按enter
请按任何键结束!
进一步改进
(1)可将输入界面改为MFC可视化操作。
(2)改变初始值N的大小以停放更多车辆。
(3)可添加车位监控函数,方便查看车场中空位!
附录源程序
/*
Name:
车位管理
Copyright:
Author:
Date:
*/
#include<
iostream>
string>
//文件
#include<
time.h>
//调用系统时间
stdlib.h>
//控制格式
fstream>
windows.h>
usingnamespacestd;
constintN=3;
//停车场规模
structnode//结构体描述停车场基本属性
{
charCarinformation[64];
//车牌号
chartype[16];
//车辆类型
boolfull;
//判断是否停满
time_tt1,t2;
//停车时间
};
classAutomobile;
classpark
public:
park();
~park(){}
boolFull();
//车辆进入
//车辆离开
intcount;
//计数
//三个车位
park:
:
park()//初始化
count=0;
for(inti=0;
i<
N;
i++)
{
location[i].full=false;
location[i].Carinformation[64]=0;
location[i].type[16]=0;
location[i].t1=0;
location[i].t2=0;
}
}
boolpark:
Full()//判断是否停满
if(count>
=N)
returntrue;
returnfalse;
Empty()//判断是否为空
if(count==0)
classAutomobile:
publicpark
Automobile();
~Automobile(){}
boolenter();
//进入
boolleave();
//离开
floatTL()const;
//计算时间
virtualvoidPay()const=0;
//纯虚函数控制输出
virtualvoidpay();
protected:
charC[64];
charty[16];
Automobile:
Automobile():
park()
C[64]=0;
ty[16]=0;
}
floatAutomobile:
floats=0;
for(inti=0;
if(strcmp(location[i].Carinformation,C)==0)
s=location[i].t2-location[i].t1;
//系统参数,为方便显示结果在此利用秒来计数
break;
returns;
boolAutomobile:
enter()//进入
cout<
<
"
endl;
if(Full()==1)
车位已满!
}
else
请输入车辆类型:
cin>
>
ty;
请输入车牌号:
C;
)
if(location[i].full==false)
strcpy(location[i].Carinformation,C);
strcpy(location[i].type,ty);
count++;
location[i].full=true;
location[i].t1=time(0);
//开始计时
chartmp[16];
strftime(tmp,sizeof(tmp),"
%X"
localtime(&
location[i].t1));
进入时间:
tmp<
else
i++;
车位已满!
leave()//离开
if(Empty()==1)
车位已空!
请输入要离开车辆的车牌号:
location[i].t2=time(0);
//离开时间
location[i].t2));
离开时间时间:
车辆类型:
location[i].type<
车牌号:
location[i].Carinformation<
count--;
该车不在其中!
voidAutomobile:
pay()//显示车辆类型及车牌号
if(location[i].full==1)
classTruck:
publicAutomobile
Truck();
~Truck(){}
voidenter1();
virtualvoidPay()const;
mutablefloatkio[N];
//const函数中修改数值
Truck:
Truck():
Automobile()
i++)
kio[i]=0;
voidTruck:
enter1()//输入载重
if(enter()!
=1)
请输入载重量:
if(kio[i]==0)
{
kio[i];
Pay()const//显示费用及载重
收费:
2*TL()<
元"
for(intl=0;
l<
l++)
if((location[l].full==false)&
&
(kio[l]!
=0))//判断输出对应的车重
载重量:
"
kio[l]<
吨"
kio[l]=0;
//改变车重
endl<
kio[i]<
-------------"
classCarriage:
Carriage();
~Carriage(){}
mutableintnum[N];
Carriage:
Carriage():
Automobile()
num[i]=0;
voidCarriage:
enter1()//输入人数
请输入乘坐人数!
if(num[i]==0)
num[i];
Pay()const//显示收费及乘坐人数
{
1.5*TL()<
l++)
(num[l]!
=0))
乘坐人数:
num[l]<
座"
num[l]=0;
num[i]<
classCar:
Car();
~Car(){}
mutablefloatgas[N];
Car:
Car():
gas[i]=0;
voidCar:
enter1()//输入排气量
请输入排气量:
if(gas[i]==0)
gas[i];
Pay()const//显示收费与排气量
1*TL()<
(gas[l]!
排气量:
gas[l]<
L"
gas[l]=0;
gas[i]<
intmain()
TruckA;
CarriageB;
CarC;
parkD;
fstreamfile("
f1.txt"
ios:
out);
if(!
file)
cerr<
openerror!
exit
(1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车位 管理 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)