电梯程序源代码.doc

上传人:b****2 文档编号:388524 上传时间:2022-10-09 格式:DOC 页数:11 大小:33KB
下载 相关 举报
电梯程序源代码.doc_第1页
第1页 / 共11页
电梯程序源代码.doc_第2页
第2页 / 共11页
电梯程序源代码.doc_第3页
第3页 / 共11页
电梯程序源代码.doc_第4页
第4页 / 共11页
电梯程序源代码.doc_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

电梯程序源代码.doc

《电梯程序源代码.doc》由会员分享,可在线阅读,更多相关《电梯程序源代码.doc(11页珍藏版)》请在冰豆网上搜索。

电梯程序源代码.doc

#ifndefCELEVATOR_H

#defineCELEVATOR_H

constintMostLayers=100;

classCElevator

{

public:

CElevator();//构造函数

CElevator(intuLayers,intlLayers);//构造函数

CElevator(CElevator&myElevator);//拷贝构造函数

voidPressOuterButton(intdirection,intfloor);//电梯外部各楼层操作按钮

voidPressInnerDigitalButton(intfloor);//电梯内部数字按钮

voidPressOpen_CloseButton(intoperate);//电梯内部开合控制按钮

voidPressAlert();//电梯内部报警按钮

voidrun();//电梯运行

~CElevator();//析构函数

protected:

voidOpenElevator();//打开电梯

voidCloseElevator();//关闭电梯

voidUserOperate();//由于程序单线程运行,因此将用户的所有操作集中在每

一层停止的时候完成。

constintUpperLayers;//电梯最高能到达的楼层

constintLowerLayers;//电梯最低能到达的楼层

intStates[5];//电梯当前状态,States[0]表示运行或停止,0停止,1运行,初值0;States[1]表示当前所在楼层,初值1;States[2]表示运行方向,向上0,向下1,初值0;States[3]表示开合,0开,0合,初值1;States[4]表示是否故障,0正常,1故障,初值1

intDigitalButton[MostLayers];//整形数组,i为楼层且i!

=0,i<0时下标iLowerLayers表示电梯内地下i楼层按钮是否被按下,i>0,i-LowerLayers-1表示电梯内地上i楼层按钮是否被按下,0未按,1按下

intOuterDownButton[MostLayers];//整形数组,i为楼层且i!

=0,i<0时下i-

LowerLayers表示电梯外i层向下按钮是否被按下,i>0i-LowerLayers-1表示电梯外i

层向下按钮是否被按下,0未按,1按下

intOuterUpButton[MostLayers];//整形数组,i为楼层且i!

=0,i<0时下标iLowerLayers表示电梯外i层向上按钮是否被按下,i>0,i-LowerLayers-1表示电梯外i层向上按钮是否被按下,0未按,1按下

};

#endif

二:

CElevator.cpp文件内容

#include

#include"CElevator.h"

usingnamespacestd;

CElevator:

:

CElevator():

UpperLayers(10),LowerLayers

(1)

{

States[0]=0;//初始状态为停止

States[1]=1;//初始楼层在楼

States[2]=0;//初始方向为向上

States[3]=1;//初始电梯为合

States[4]=0;//初始电梯正常

for(inti=0;i

{

DigitalButton[i]=0;

OuterDownButton[i]=0;

OuterUpButton[i]=0;

}

}

CElevator:

:

CElevator(intuLayers,intlLayers):

UpperLayers(uLayers),LowerLayers(lLayers)

{

States[0]=0;//初始状态为停止

States[1]=1;//初始楼层在楼

States[2]=0;//初始方向为向上

States[3]=1;//初始电梯为合

States[4]=0;//初始电梯正常

for(inti=0;i

{

DigitalButton[i]=0;

OuterDownButton[i]=0;

OuterUpButton[i]=0;

}

}

CElevator:

:

CElevator(CElevator&myElevator):

UpperLayers(myElevator.UpperLayers),LowerLayers(myElevator.LowerLayers)

{

States[0]=myElevator.States[0];

States[1]=myElevator.States[1];

States[2]=0;//初始方向为向上

States[3]=1;//初始电梯为合

States[4]=0;//初始电梯正常

for(inti=0;i

{

DigitalButton[i]=0;

OuterDownButton[i]=0;

OuterUpButton[i]=0;

}

}

CElevator:

:

CElevator(intuLayers,intlLayers):

UpperLayers(uLayers),LowerLayers(lLayers)

{

States[0]=0;//初始状态为停止

States[1]=1;//初始楼层在楼

States[2]=0;//初始方向为向上

States[3]=1;//初始电梯为合

States[4]=0;//初始电梯正常

for(inti=0;i

{DigitalButton[i]=0;

OuterDownButton[i]=0;

OuterUpButton[i]=0;

}

}

CElevator:

:

CElevator(CElevator&myElevator):

UpperLayers(myElevator.UpperLayers),LowerLayers(myElevator.LowerLayers)

{

States[0]=myElevator.States[0];

States[1]=myElevator.States[1];

States[2]=myElevator.States[2];

States[3]=myElevator.States[3];

States[4]=myElevator.States[5];

for(inti=0;i

{

DigitalButton[i]=myElevator.DigitalButton[i];

OuterDownButton[i]=myElevator.DigitalButton[i];

OuterUpButton[i]=myElevator.DigitalButton[i];

}

}

CElevator:

:

~CElevator()

{

}

voidCElevator:

:

PressOuterButton(intdirection,intfloor)

{

if(direction==0)

OuterUpButton[floor-LowerLayers-1]=1;

else

OuterDownButton[floor-LowerLayers-1]=1;

}

voidCElevator:

:

PressInnerDigitalButton(intfloor)

{

DigitalButton[floor-LowerLayers-1]=1;

}

voidCElevator:

:

PressOpen_CloseButton(intoperate)

{

if(operate==0)//打开电梯

{

OpenElevator();

}

else//关闭电梯

{

CloseElevator();

}

}

voidCElevator:

:

OpenElevator()

{

if(States[3]==0)

{

cout<<"电梯已打开,请先出后进!

"<

}

else

{

cout<<"电梯正在打开…电梯已打开,请先出后进!

"<

States[3]=0;

}

}

voidCElevator:

:

CloseElevator()

{

if(States[3]==1)

{cout<<"电梯已关闭,请保持安静!

"<

}

else

{

cout<<"电梯正在关闭…电梯已关闭,请保持安静!

"<

States[3]=1;

}

}

voidCElevator:

:

PressAlert()

{

cout<<"电梯内部有人报警,请援助!

"<

States[4]=1;

}

voidCElevator:

:

UserOperate()

{

//按报警按钮

intalm=0;

cout<<"按报警按钮吗?

输入1表示按,0表示不按:

";

cin>>alm;

cout<

if(alm==1)

{

States[4]=1;

while(States[4]==1)

{

cout<<"电梯出现故障,请维修!

维修好请输入0,维修不好请输入1!

cin>>alm;

cout<

if(alm==0||alm==1)

{

States[4]=alm;

}

else

{

cout<<"维修数据不正确!

"<

}

}

}

OpenElevator();

//电梯内部输入到达楼层

cout<<"请电梯内乘客输入所要到达的楼层!

"<

cout<<"多个楼层中间用空格隔开,结束输入0:

";

intfloor=1;

while(true)

{

cin>>floor;

if(floor==0)

{

break;

}

if((floor>=LowerLayers)&&(floor<=UpperLayers)&&(floor!

=States[1]))

{

if(floor<0)//地下

{

DigitalButton[floor-LowerLayers]=1;

}

else//地上

{

DigitalButton[floor-LowerLayers-1]=1;//没有楼

}

}

}

cout<

//电梯外部各楼层输入上楼信号

cout<<"请电梯外部乘客输入上楼信号!

"<

cout<<"多个楼层用空格隔开,结束输入0:

";

while(true)

{

cin>>floor;

if(floor==0)

{

break;

}

else

{

if((floor>=LowerLayers)&&(fl

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

当前位置:首页 > PPT模板 > 其它模板

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

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