电梯程序源代码Word格式文档下载.doc
《电梯程序源代码Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《电梯程序源代码Word格式文档下载.doc(11页珍藏版)》请在冰豆网上搜索。
//电梯内部开合控制按钮
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];
0时下i-
LowerLayers表示电梯外i层向下按钮是否被按下,i>
0i-LowerLayers-1表示电梯外i
层向下按钮是否被按下,0未按,1按下
intOuterUpButton[MostLayers];
0时下标iLowerLayers表示电梯外i层向上按钮是否被按下,i>
0,i-LowerLayers-1表示电梯外i层向上按钮是否被按下,0未按,1按下
};
#endif
二:
CElevator.cpp文件内容
#include<
iostream>
#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<
MostLayers;
i++)
{
DigitalButton[i]=0;
OuterDownButton[i]=0;
OuterUpButton[i]=0;
}
}
CElevator(intuLayers,intlLayers):
UpperLayers(uLayers),LowerLayers(lLayers)
{
myElevator):
UpperLayers(myElevator.UpperLayers),LowerLayers(myElevator.LowerLayers)
States[0]=myElevator.States[0];
States[1]=myElevator.States[1];
i++)
i++)
{DigitalButton[i]=0;
UpperLayers(myElevator.UpperLayers),LowerLayers(myElevator.LowerLayers)
States[2]=myElevator.States[2];
States[3]=myElevator.States[3];
States[4]=myElevator.States[5];
DigitalButton[i]=myElevator.DigitalButton[i];
OuterDownButton[i]=myElevator.DigitalButton[i];
OuterUpButton[i]=myElevator.DigitalButton[i];
~CElevator()
voidCElevator:
PressOuterButton(intdirection,intfloor)
if(direction==0)
OuterUpButton[floor-LowerLayers-1]=1;
else
OuterDownButton[floor-LowerLayers-1]=1;
PressInnerDigitalButton(intfloor)
DigitalButton[floor-LowerLayers-1]=1;
PressOpen_CloseButton(intoperate)
if(operate==0)//打开电梯
OpenElevator();
else//关闭电梯
CloseElevator();
OpenElevator()
if(States[3]==0)
cout<
<
"
电梯已打开,请先出后进!
endl<
endl;
电梯正在打开…电梯已打开,请先出后进!
States[3]=0;
CloseElevator()
if(States[3]==1)
{cout<
电梯已关闭,请保持安静!
电梯正在关闭…电梯已关闭,请保持安静!
PressAlert()
电梯内部有人报警,请援助!
States[4]=1;
UserOperate()
//按报警按钮
intalm=0;
cout<
按报警按钮吗?
输入1表示按,0表示不按:
;
cin>
>
alm;
if(alm==1)
while(States[4]==1)
电梯出现故障,请维修!
维修好请输入0,维修不好请输入1!
if(alm==0||alm==1)
States[4]=alm;
维修数据不正确!
//电梯内部输入到达楼层
请电梯内乘客输入所要到达的楼层!
多个楼层中间用空格隔开,结束输入0:
intfloor=1;
while(true)
floor;
if(floor==0)
break;
if((floor>
=LowerLayers)&
&
(floor<
=UpperLayers)&
(floor!
=States[1]))
if(floor<
0)//地下
DigitalButton[floor-LowerLayers]=1;
else//地上
//没有楼
}
//电梯外部各楼层输入上楼信号
请电梯外部乘客输入上楼信号!
多个楼层用空格隔开,结束输入0:
(fl