收藏 分销(赏)

电梯程序源代码复习进程.doc

上传人:丰**** 文档编号:3787579 上传时间:2024-07-18 格式:DOC 页数:11 大小:35KB 下载积分:8 金币
下载 相关 举报
电梯程序源代码复习进程.doc_第1页
第1页 / 共11页
电梯程序源代码复习进程.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
精品文档 #ifndef CELEVATOR_H #define CELEVATOR_H const int MostLayers = 100; class CElevator { public: 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 States[5]; //电梯当前状态,States[0]表示运行或停止,0停止,1运行,初值0;States[1]表示当前所在楼层,初值1;States[2]表示运行方向,向上0,向下1,初值0;States[3]表示开合,0开,0合,初值1;States[4]表示是否故障,0正常,1故障,初值1 int DigitalButton[MostLayers];//整形数组,i为楼层且i!=0,i<0时下标iLowerLayers表示电梯内地下i楼层按钮是否被按下,i>0,i-LowerLayers-1表示电梯内地上i楼层按钮是否被按下,0未按,1按下 int OuterDownButton[MostLayers];//整形数组,i为楼层且i!=0,i<0时下i- LowerLayers表示电梯外i层向下按钮是否被按下,i>0i-LowerLayers-1表示电梯外i 层向下按钮是否被按下,0未按,1按下 int OuterUpButton[MostLayers];//整形数组,i为楼层且i!=0,i<0时下标iLowerLayers表示电梯外i层向上按钮是否被按下,i>0,i-LowerLayers-1表示电梯外i层向上按钮是否被按下,0未按,1按下 }; #endif 二:CElevator.cpp文件内容 #include<iostream> #include "CElevator.h" using namespace std; CElevator::CElevator():UpperLayers(10),LowerLayers(1) { States[0] = 0; //初始状态为停止 States[1] = 1;//初始楼层在楼 States[2] = 0;//初始方向为向上 States[3] = 1;//初始电梯为合 States[4] = 0;//初始电梯正常 for(int i=0;i<MostLayers;i++) { DigitalButton[i] = 0; OuterDownButton[i] = 0; OuterUpButton[i] = 0; } } CElevator::CElevator(int uLayers, int lLayers):UpperLayers(uLayers),LowerLayers(lLayers) { States[0] = 0; //初始状态为停止 States[1] = 1;//初始楼层在楼 States[2] = 0;//初始方向为向上 States[3] = 1;//初始电梯为合 States[4] = 0;//初始电梯正常 for(int i=0;i<MostLayers;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(int i=0;i<MostLayers;i++) { DigitalButton[i] = 0; OuterDownButton[i] = 0; OuterUpButton[i] = 0; } } CElevator::CElevator(int uLayers, int lLayers):UpperLayers(uLayers),LowerLayers(lLayers) { States[0] = 0; //初始状态为停止 States[1] = 1;//初始楼层在楼 States[2] = 0;//初始方向为向上 States[3] = 1;//初始电梯为合 States[4] = 0;//初始电梯正常 for(int i=0;i<MostLayers;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(int i=0;i<MostLayers;i++) { DigitalButton[i] = myElevator.DigitalButton[i]; OuterDownButton[i] = myElevator.DigitalButton[i]; OuterUpButton[i] = myElevator.DigitalButton[i]; } } CElevator::~CElevator() { } void CElevator::PressOuterButton(int direction, int floor) { if(direction==0) OuterUpButton[floor-LowerLayers-1] = 1; else OuterDownButton[floor-LowerLayers-1] = 1; } void CElevator::PressInnerDigitalButton(int floor) { DigitalButton[floor-LowerLayers-1] = 1; } void CElevator::PressOpen_CloseButton(int operate) { if(operate == 0)//打开电梯 { OpenElevator(); } else//关闭电梯 { CloseElevator(); } } void CElevator::OpenElevator() { if(States[3] == 0) { cout<<"电梯已打开,请先出后进!"<<endl<<endl; } else { cout<<"电梯正在打开…电梯已打开,请先出后进!"<<endl<<endl; States[3] = 0; } } void CElevator::CloseElevator() { if(States[3] == 1) { cout<<"电梯已关闭,请保持安静!"<<endl<<endl; } else { cout<<"电梯正在关闭…电梯已关闭,请保持安静!"<<endl<<endl; States[3] = 1; } } void CElevator::PressAlert() { cout<<"电梯内部有人报警,请援助!"<<endl; States[4] = 1; } void CElevator::UserOperate() { //按报警按钮 int alm = 0; cout<<"按报警按钮吗?输入1表示按,0表示不按:"; cin>>alm; cout<<endl; if(alm==1) { States[4] = 1; while(States[4]==1) { cout<<"电梯出现故障,请维修!维修好请输入0,维修不好请输入1! cin>>alm; cout<<endl; if(alm == 0 || alm ==1) { States[4] = alm; } else { cout<<"维修数据不正确!"<<endl; } } } OpenElevator(); //电梯内部输入到达楼层 cout<<"请电梯内乘客输入所要到达的楼层!"<<endl; cout<<"多个楼层中间用空格隔开,结束输入0:"; int floor = 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<<endl; //电梯外部各楼层输入上楼信号 cout<<"请电梯外部乘客输入上楼信号!"<<endl; cout<<"多个楼层用空格隔开,结束输入0:"; while(true) { cin>>floor; if(floor==0) { break; } else { if((floor>=LowerLayers) && (floor<UpperLayers) && (floor!=States[1])) { if(floor<0)//地下 { OuterUpButton[floor-LowerLayers] = 1; } else//地上 { OuterUpButton[floor-LowerLayers-1] = 1;//没有楼 } } } } cout<<endl; //电梯外部各楼层输入下楼信号 cout<<"请电梯外部乘客输入下楼信号,"<<endl; cout<<"多个楼层用空格隔开,结束输入0:"; while(true) { cin>>floor; if(floor==0) { break; } else { if((floor>LowerLayers) && (floor<=UpperLayers) && (floor!=States[1])) { if(floor<0)//地下 { OuterDownButton[floor-LowerLayers] = 1; } else//地上 { OuterDownButton[floor-LowerLayers-1] = 1;//没有楼 } } } } cout<<endl; //按开电梯按钮 int direction = 0; cout<<"电梯将要关闭,等人请按打开按钮!"<<endl; cout<<"输入1表示按,表示0不按:"; cin>>direction; cout<<endl; if(direction==1) { OpenElevator(); for(int i=0;i<50;i++);//延时 CloseElevator(); } //按关电梯按钮 cout<<"按关电梯按钮吗?输入1表示按,表0不按:"; cin>>direction; cout<<endl; if(direction==0) { for(int i=0;i<50;i++);//延时 CloseElevator(); } else { CloseElevator(); } } void CElevator::run() { while(true) { if(States[0]==0) { cout<<"电梯停在"<<States[1]<<"层!"<<endl; if(States[2]==0)//向上 { if(States[1]<0)//地下 { OuterUpButton[States[1]-LowerLayers] = 0;//将记录电梯States[1]层有向上的标志取消 DigitalButton[States[1]-LowerLayers] = 0;//将记录电梯在 States[1]层停靠的标志取消 } else//地上 { OuterUpButton[States[1]-LowerLayers-1] = 0;//将记录电梯 States[1]层有向上的标志取消 DigitalButton[States[1]-LowerLayers-1] = 0;//将记录电梯在 States[1]层停靠的标志取消 } } else//向下 { if(States[1]<0)//地下 { OuterDownButton[States[1]-LowerLayers] = 0;//将记录电梯States[1]层有向下的标志取消 DigitalButton[States[1]-LowerLayers] = 0;//将记录电梯在States[1]层停靠的标志取消 } else//地上 { OuterDownButton[States[1]-LowerLayers-1] = 0;//将记录电梯States[1]层有向下的标志取消 DigitalButton[States[1]-LowerLayers-1] = 0;//将记录电梯在States[1]层停靠的标志取消 } } if(States[1]==1) { cout<<"终止电梯程序运行吗?终止输入1,继续运行输入0:"; int temp = 0; cin>>temp; if(temp==1) { exit(0); } } cout<<endl; UserOperate(); States[0] = 1; } else { if(States[2]==0)//向上 { States[1]++; if(States[1]==0) { States[1]++;//没有层 }else { cout<<"电梯向上运行,将要到达"<<States[1]<<"层!"<<endl<<endl; if(States[1]==UpperLayers)//向上到最顶,必定要停,且方向变为向下 { States[2] = 1;//变方向 States[0] = 0; } else { if(OuterUpButton[States[1]-LowerLayers-1]==0 && DigitalButton[States[1]-LowerLayers-1]==0) { cout<<"没有乘客在"<<States[1]<<"层上下,电梯继续向上运行!"<<endl<<endl; } else { States[0] = 0; } } } } else//向下 { States[1]--; if(States[1]==0) { States[1] = -1;//没有层 } else { cout<<"电梯向下运行,将要到达"<<States[1]<<"层!"<<endl<<endl; if(States[1]==LowerLayers)//向下到最底,必定要停,且方向变为向上 { States[2] = 0;//变方向 States[0] = 0; } else { if(OuterDownButton[States[1]-LowerLayers-1]==0 && DigitalButton[States[1]-LowerLayers-1]==0) { cout<<"没有乘客在"<<States[1]<<"层上下,电梯继续向下运行!"<<endl<<endl; } else { States[0] = 0; } } } } } } } 三:main.cpp主函数文件内容 #include <iostream> #include "CElevator.h" using namespace std; #include "CElevator.h" void main() { CElevator myElevator(8,-3); myElevator.run(); } 附件(二): (2) 缺乏经营经验 beadorks公司成功地创造了这样一种气氛:商店和顾客不再是单纯的买卖关系,营业员只是起着参谋的作用,顾客成为商品或者说是作品的作参与者,营业员和顾客互相交流切磋,成为一个共同的创作体 小饰品店往往会给人零乱的感觉,采用开架陈列就会免掉这个麻烦。“漂亮女生”像是个小超市,同一款商品色彩丰富地挂了几十个任你挑,拿上东西再到收银台付款。这也符合女孩子精挑细选的天性,更保持了店堂长盛不衰的人气。 (4) 创新能力薄弱 据了解,百分之八十的饰品店都推出“DIY饰品”来吸引顾客,一方面顺应了年轻一代喜欢与众不同、标新立异的心理;另一方面,自制饰品价格相对较低,可以随时更新换代,也满足了年轻人“喜新厌旧”的需要,因而很受欢迎。 9、如果你亲戚朋友送你一件DIY手工艺制品你是否会喜欢? (2)东西全 众上所述,我们认为:我们的创意小屋计划或许虽然会有很多的挑战和困难,但我们会吸取和借鉴“漂亮女生”和“碧芝”的成功经验,在产品的质量和创意上多下工夫,使自己的产品能领导潮流,领导时尚。在它们还没有打入学校这个市场时,我们要巩固我们的学生市场,制作一些吸引学生,又有使学生能接受的价格,勇敢的面对它们的挑战,使自己立于不败之地。 大学生购买力有限,即决定了要求商品能价廉物美,但更注重的还是在购买过程中对精神文化爱好的追求,满足心理需求。 精品文档
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服