这是一个模拟电梯程序。。关于离散部分代码Status RequireAbove(Elevator const &E) { //判断是否有高层请求 for(int i=E.floor+1;i=Minfloor;i--) if(E.CallCar[i]||E.CallDown[i]||E.CallUp[i]) return TRUE; return FALSE; } Status EleAchieved(Elevator &E) { //判断电梯是否要停于当前层 if(E.CallCar[E.floor]) return TRUE; if(E.Stage==Up&&E.CallUp[E.floor]||E.Stage==Down&&E.CallDown[E.floor]) return TRUE; if(E.Stage==Up&&E.CallDown[E.floor]&&!RequireAbove(E)) { E.Stage=Down;return TRUE; } if(E.Stage==Down&&E.CallUp[E.floor]&&!RequireBelow(E)) { E.Stage=Up;return TRUE; } return FALSE; } Status EleOpenDoor(Elevator &E) { //判断电梯是否要开门 if(E.CallCar[E.floor]||E.CallDown[E.floor]&&E.Stage==Down||E.CallUp[E.floor]&&E.Stage==Up) return TRUE; if(E.status==Waiting) { if(E.CallDown[E.floor]) {E.Stage=Down;return TRUE;} if(E.CallUp[E.floor]) {E.Stage=Up;return TRUE;} } return FALSE; }
2021-05-04 17:30:45 15KB 自动电梯
1