资源简介
基于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++编码规范
相关资源
- Google C++编码规范
- AES/ECB/PKCS5Padding C++实现
- c++商品管理
- 打印出有向图中的所有环C++
- cocos2dx 3.17 2048游戏的源码
- C++中缀表达式求值
- 一个数字水印的VC++源程序,支持图片
- C++大学教程(第七版)](美)戴特尔
- Visual C++串口通信
- 蜘蛛纸牌VC++
- k-means 源代码C++实现
- QTP 运行报:Microslft Visual C++ Runtime Lib
- A星算法,A*算法C++实现,8数码求解
- 个人账簿管理系统c++
- 单片空间后方交会c++
- C++ Prime中文版第五版
- VC++界面编程之 实现一个画板并提供
- VC++ WTL 9.0 安装包
- 激光雷达数据读取以及显示C++需配置
- 激光雷达UTM-30LX图像采集程序及数据
- horsematch 赛马程序游戏
- VC++ 内存扫描与内存数据读写.rar
- 16点基4dit-fft程序c++
- 排队论C++语言仿真实现
- c++面向对象程序设计 谭浩强第二版习
- 异步网络通信 用C++
- WAV文件的读写接口类,依赖标准C++库
- C++五子棋程序实验报告
- C++ 先进先出算法FIFO
- 画图程序最新版 MFC/VC/VC++ 很多功能哦
评论
共有 条评论