电梯代码 - 打印版.doc_第1页
电梯代码 - 打印版.doc_第2页
电梯代码 - 打印版.doc_第3页
电梯代码 - 打印版.doc_第4页
电梯代码 - 打印版.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include using namespace std;const int MostLayers = 100;class CElevatorpublic:CElevator();CElevator(int uLayers, int lLayers);CElevator(CElevator &myElevator); void PressOuterButton(int direction, int floor);void PressInnerDigitalButton(int floor);void PressOpen_CloseButton(int operate);void PressAlert();void run();CElevator();protected:void OpenElevator();void CloseElevator();void UserOperate();const int UpperLayers;const int LowerLayers;int States5;int DigitalButtonMostLayers;int OuterDownButtonMostLayers;int OuterUpButtonMostLayers;CElevator:CElevator():UpperLayers(10),LowerLayers(1)States0 = 0;States1 = 1;States2 = 0;States3 = 1;States4 = 0;for(int i=0;iMostLayers;i+)DigitalButtoni = 0; OuterDownButtoni = 0; OuterUpButtoni = 0;CElevator:CElevator(int uLayers, int lLayers):UpperLayers(uLayers),LowerLayers(lLayers)States0 = 0;States1 = 1;States2 = 0;States3 = 1;States4 = 0;for(int i=0;iMostLayers;i+)DigitalButtoni = 0; OuterDownButtoni = 0; OuterUpButtoni = 0;CElevator:CElevator(CElevator &myElevator):UpperLayers(myElevator.UpperLayers),LowerLayers( myElevator.LowerLayers)States0 = myElevator.States0; States1 = myElevator.States1;States2 = myElevator.States2;States3 = myElevator.States3;States4 = myElevator.States5;for(int i=0;iMostLayers;i+)DigitalButtoni = myElevator.DigitalButtoni;OuterDownButtoni = myElevator.DigitalButtoni;OuterUpButtoni = myElevator.DigitalButtoni;CElevator:CElevator()void CElevator:PressOuterButton(int direction, int floor) if(direction=0)OuterUpButtonfloor-LowerLayers-1 = 1;elseOuterDownButtonfloor-LowerLayers-1 = 1;void CElevator:PressInnerDigitalButton(int floor)DigitalButtonfloor-LowerLayers-1 = 1;void CElevator:PressOpen_CloseButton(int operate)if(operate = 0) OpenElevator();elseCloseElevator();void CElevator:OpenElevator()if(States3 = 0)cout电梯已打开,请先出后进!endlendl;else cout电梯正在打开 电梯已打开,请先出后进!endlendl; States3 = 0;void CElevator:CloseElevator() if(States3 = 1)cout电梯已关闭,请保持安静!endlendl;else cout电梯正在关闭 电梯已关闭,请保持安静!endlendl;States3 = 1;void CElevator:PressAlert()cout电梯内部有人报警,请援助!endl;States4 = 1;void CElevator:UserOperate()int alm = 0;coutalm;coutendl;if(alm=1)States4 = 1;while(States4=1)coutalm;coutendl;if(alm = 0 | alm =1)States4 = alm;elsecout维修数据不正确!endl;OpenElevator();cout请电梯内乘客输入所要到达的楼层!endl;coutfloor;if(floor=0)break;if(floor=LowerLayers) & (floor=UpperLayers) & (floor!=States1)if(floor0) DigitalButtonfloor-LowerLayers = 1;elseDigitalButtonfloor-LowerLayers-1 = 1;coutendl;cout请电梯外部乘客输入上楼信号!endl;coutfloor;if(floor=0)break;elseif(floor=LowerLayers) & (floorUpperLayers) & (floor!=States1)if(floor0)/地下OuterUpButtonfloor-LowerLayers = 1;else/地上OuterUpButtonfloor-LowerLayers-1 = 1;coutendl;cout请电梯外部乘客输入下楼信号,endl;coutfloor;if(floor=0)break;elseif(floorLowerLayers) & (floor=UpperLayers) & (floor!=States1)if(floor0)/地下OuterDownButtonfloor-LowerLayers = 1;else/地上OuterDownButtonfloor-LowerLayers-1 = 1;coutendl;int direction = 0;cout电梯将要关闭,等人请按打开按钮!endl;coutdirection;coutendl;if(direction=1)OpenElevator(); for(int i=0;i50;i+);CloseElevator();coutdirection;coutendl;if(direction=0)for(int i=0;i50;i+);CloseElevator();elseCloseElevator();void CElevator:run()while(true)if(States0=0)cout电梯停在States1层!endl;if(States2=0)if(States10)OuterUpButtonStates1-LowerLayers = 0;DigitalButtonStates1-LowerLayers = 0;elseOuterUpButtonStates1-LowerLayers-1 = 0;DigitalButtonStates1-LowerLayers-1 = 0;elseif(States10)OuterDownButtonStates1-LowerLayers = 0;DigitalButtonStates1-LowerLayers = 0;elseOuterDownButtonStates1-LowerLayers-1 = 0;DigitalButtonStates1-LowerLayers-1 = 0;if(States1=1)couttemp;if(temp=1)exit(0);coutendl; UserOperate();States0 = 1;elseif(States2=0)States1+;if(States1=0)States1+;elsecout电梯向上运行,将要到达States1层!endlendl;if(States1=UpperLayers)States2 = 1; States0 = 0;elseif(OuterUpButtonStates1-LowerLayers-1=0 & DigitalButtonStates1-LowerLayers-1=0)cout没有乘客在States1层上下,电梯继续向上运行!endlendl;elseStates0 = 0;else/向下States1-;if(States1=0)States1 = -1;elsecout电梯向下运行,将要到达States1层!endlendl;if(States1=LowerLayers)States2 =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论