资源简介
基于c++实现的简单电梯作业(大一)
实现对Elevator类的功能扩展。在Elevator类已有功能的基础上派生Advancedelevator类。可以实现当多人在不同楼层等待乘坐上行或下行的同一部电梯时,能够合理的根据乘坐人的需求对电梯经停的楼层进行排序。
代码片段和文件信息
#include
#include
#include
using namespace std;
#include
int allfloorallweight;
class Elevator
{
private:
int Floortk;//电梯总层数最大载重
bool up;
bool down;
int currentFloor;//当前停留层数
int Up[105]Downp[105]Wp[105];//未筛选的数据
protected:
int UDfloor[105]PWeight[105];//上下电梯的楼层,上电梯的人员的体重
bool dp[105];//判断上电梯人员是否操作合法
int dpp[105];//配对上下人员,使排序后不紊乱
int WeightcurrentweightPnumber;//总载重当前可载重
public:
Elevator(int allfloorint allweight);//建立一个电梯
void setFloorNumber();//电梯运行时楼层的输出
void setUpButton();//上行操作
void setDownButton();//下行操作
void getCurrentFloor();//输出当前楼层
} ;
Elevator::Elevator(int allfloorint allweight){
Floor=allfloor;
currentFloor=1;
Weight=allweight;
}
void Elevator::setUpButton(){
up=1;down=0;t=1;k=1;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
cout<<“请输入要上电梯的人员所在楼层、目的楼层、体重:“< for(int i=1;i<=Pnumber;i++){
cin>>Up[i]>>Downp[i]>>Wp[i];
if(Up[i]>Downp[i]){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY|FOREGROUND_RED);
cout<<“您不能下行!\n“< SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
UDfloor[t]=Up[i];PWeight[t]=Wp[i];t++;
}
else if(Up[i] SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY|FOREGROUND_RED);
cout<<“您不能下行!\n“< SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
}
else if(Floor SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY|FOREGROUND_RED);
cout<<“操作不合法!\n“< SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
UDfloor[t]=Up[i];PWeight[t]=Wp[i];t++;
}
else{
UDfloor[t]=Up[i];UDfloor[t+1]=Downp[i];PWeight[t]=Wp[i];PWeight[t+1]=-Wp[i];dp[t]=1;
dpp[t]=k;dpp[t+1]=k;k++;t+=2;
}
}
}
void Elevator::setDownButton(){
up=0;down=1;t=1;k=1;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
cout<<“请输入要上电梯的人员所在楼层、目的楼层、体重:“< for(int i=1;i<=Pnumber;i++){
cin>>Up[i]>>Downp[i]>>Wp[i];
if(Up[i] SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY|FOREGROUND_RED);
cout<<“您不能上行!\n“< SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
UDfloor[t]=Up[i];PWeight[t]=Wp[i];t++;
}
else if(Up[i]>currentFloor){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)FOREGROUND_INTENSITY|FOREGROUND_RED);
cout<<“您不能上行!\n“< SetConsoleTextAttribu
- 上一篇:编译原理Pascal语言编译器用C实现
- 下一篇:Google C++编码规范
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
评论
共有 条评论