資源簡介
基于c++實現的簡單電梯作業(大一)
實現對Elevator類的功能擴展。在Elevator類已有功能的基礎上派生Advancedelevator類??梢詫崿F當多人在不同樓層等待乘坐上行或下行的同一部電梯時,能夠合理的根據乘坐人的需求對電梯經停的樓層進行排序。
代碼片段和文件信息
#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++編碼規范
評論
共有 條評論