登录 注册
当前位置:主页 > 资源下载 > 50 > 数据结构模拟——电梯系统

数据结构模拟——电梯系统

  • 更新:2024-06-07 23:59:20
  • 大小:15KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:其它 - 开发技术
  • 格式:CPP

资源介绍

这是一个模拟电梯程序。。关于离散部分代码Status RequireAbove(Elevator const &E) { //判断是否有高层请求 for(int i=E.floor+1;i<=Maxfloor;i++) if(E.CallCar[i]||E.CallDown[i]||E.CallUp[i]) return TRUE; return FALSE; } Status RequireBelow(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; }