📄 dianti.txt
字号:
给你一个哈哈:
输出:
电梯在5层
电梯将要下行
您要去的层数是1
请等8秒钟。
门已打开,请进
完整代码:
C/C++ code#include <iostream>
using namespace std;
#include <cmath>
class Passenger//乘客类
{
private:
bool signal;//上下楼的标志,值为1时表示上楼,反之下楼
int Patfloor;//所在楼层
int Ptofloor;//要去的楼层
public:
static int countP;//记数,以防超载
Passenger(bool signal1=1,int Patfloor1=1,int Ptofloor=2);//有默认植的构造函数
Passenger(Passenger&);
~Passenger(){countP--;}
friend class lift;//友元函数
};
//成员函数的实现
int Passenger::countP=0;
Passenger::Passenger(bool signal1,int Patfloor1,int Ptofloor1)
{ // bool signal1;int Patfloor1;int Ptofloor1;
signal=signal1;
Patfloor=Patfloor1;
Ptofloor=Ptofloor1;
countP++;
}
Passenger:: Passenger(Passenger&P)
{
signal=P.signal;
Patfloor=P.Patfloor;
Ptofloor=P.Ptofloor;
countP++;
}
//电梯类
class lift
{
private:
int limitPassenger;//最大限度
int liftc;//电梯层数
int latfloor;//电梯所在层数
int ltofloor;//电梯要去的层数
int speed;//电梯运行一层需要的时间.单位:s
public:
lift(int limitPassenger1,int liftc1,int latfloor1,int ltofloor1,int speed1);
~lift(){}
int Getlatfloor(){return this->latfloor;}
int wait_time(){return (int)(speed*fabs(double(latfloor-ltofloor)));}//乘客等待的时间
bool overload(Passenger&);//判断电梯是否超载
//void l_tofloor();//判断电梯要去的层数
lift(Passenger &,Passenger &);//判断电梯要去的层数
int getcengshu(){return ltofloor;}
void l_direction();//判断电梯将要运行的方向
friend class Passenger;
};
//成员函数的实现
lift::lift(int limitPassenger1,int liftc1,int latfloor1,int ltofloor1, int speed1)
{
limitPassenger=limitPassenger1;
liftc=liftc1;
latfloor=latfloor1;
ltofloor = ltofloor1;
speed=speed1;
}
bool lift::overload(Passenger&p)
{
if(p.countP>=13) {
cout < <"电梯超载" < <"\t" < <endl;//响铃标志,ASCAll码?
return 1;
}
else
return 0;
}
/* void lift::l_tofloor()
{
int L1,L2;
L1=abs(P1.Patfloor-lift.latfloor);
L2=abs(P2.Patfloor-lift.latfloor);
if(L1 <=L2)
lift.Ltofloor=P1.Ptofloor;
else
lift.Ltofloor=P2.Ptofloor;
}*/
lift::lift(Passenger &P1,Passenger &P2)
//lift::getcengshu(Passenger &P1,Passenger &P2)
{
int L1,L2;
L1=(int)fabs(double(P1.Patfloor-latfloor));//lift.latfloor);
L2=(int)fabs(double(P2.Patfloor-latfloor));//lift.latfloor);
if(L1 <=L2)
ltofloor=P1.Ptofloor;
else
ltofloor=P2.Ptofloor;
// cout < <"要去的层数" < <ltofloor < <endl;
}
void lift::l_direction()
{
int L3=ltofloor-latfloor;
if (latfloor==1){}
else
{
if(L3>0)
cout < <"电梯将要上行" < <endl;
else if(L3 <0)
cout < <"电梯将要下行" < <endl;
else//(L3=0)
cout < <"门正在打开" < <endl;
}
}
//主函数
void main()
{
Passenger Ps1(1,3,7),Ps2(0,6,2),P3(1,2,9);
lift lift1(13,10,5,1,2);
cout < <"电梯在" < <lift1.Getlatfloor() < <"层" < <endl;
lift1.l_direction();
cout < <"您要去的层数是" < <lift1.getcengshu() < <endl;
cout < <"请等" < <lift1.wait_time() < <"秒钟。" < <endl;
cout < <"门已打开,请进" < <endl;
lift1.overload(P3);//P为乘客中的最后一人
}
[/code]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -