欢迎来到天天文库
浏览记录
ID:11362550
大小:149.00 KB
页数:18页
时间:2018-07-11
《电梯模拟代码实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、电梯模拟:代码实现HEAD.Hinclude#include#include#include#include#include#include/*所有常量,全局变量和类型定义*/#defineNULL0/*空指针*/#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2#defineINT_MAX327
2、67/*Status是函数类型,其值是函数结果状态代码*/typedefintStatus;#defineEmpty0/***************************************************/*电梯状态*/enumEleStatus{Opening,Opened,Closing,Closed,Moving,Decelerate,Waiting};enumAction{DoorOpened,DoorClosed,GoingUp,GoingDown,Achieved,None};enumEleStage{Up,Down,O
3、penDoor,Stop};enumClientStatus{New,GiveUp,In,Out,Finish};#defineCloseTest40/*电梯关门测试时间*/#defineOverTime300/*电梯停候超时时间*/#defineAccelerate15/*加速时间*/#defineUpTime51/*上升时间*/#defineDownTime61/*下降时间*/#defineUpDecelerate14/*上升减速*/#defineDownDecelerate23/*下降减速*/#defineDoorTime20/*开门关门时间*
4、/#defineInOutTime25/*进出电梯时间*/#defineMaxfloor4/*最高层*/#defineMinfloor0/*最低层*/18longTime=0;/*时钟*/longMaxTime;/*系统运行最长时间*/intInOutCount=0;/*用于进出计时*/intInterTime=0;/*下一乘客进入系统的时间*/intID=0;/*乘客编号*/intGiveUpNumber=0;/*乘客放弃的数目*/intTotalTime=0;/*总共等待时间*/ELEVATOR.CPP#definetest0/*test为1时对
5、电梯效率进行测试,test为0时观察电梯运行情况。*/#include"Building.h"intmain(){ElevatorE;/*电梯*/WQueuew[Maxfloor+1][2];/*每层都有两个等待队列:上楼队列和下楼队列*/InitEle(E);/*初始化*/srand((unsigned)time(NULL));for(inti=0;i<=Maxfloor;i++){InitQueue(w[i][Up]);InitQueue(w[i][Down]);}#iftestMaxTime=100000;#elsecout<<"请输入电梯的运
6、行时间:";cin>>MaxTime;#endifwhile(Time++7、E)==Opened)InOut(E,w);}elseInOutCount--;18/******************************************/if(CountOver(E)8、9、EleStatus(E)==Closed10、11、EleStatus(E)==Waiting){Actiona;a=ElevatorRun(E);#if!testPrint(E,a);if(EleStatus(E)==Decelerate)PrintStatus(E,w);#endif}#if!testSleep(100);/*延迟0.1s*/#endi12、f}cout<<"共"<
7、E)==Opened)InOut(E,w);}elseInOutCount--;18/******************************************/if(CountOver(E)
8、
9、EleStatus(E)==Closed
10、
11、EleStatus(E)==Waiting){Actiona;a=ElevatorRun(E);#if!testPrint(E,a);if(EleStatus(E)==Decelerate)PrintStatus(E,w);#endif}#if!testSleep(100);/*延迟0.1s*/#endi
12、f}cout<<"共"<
此文档下载收益归作者所有