65,211
社区成员
发帖
与我相关
我的任务
分享#include <iostream>
using namespace std;
class Wiperspeed;
class Dialposition;
//////////////////////类及其函数声明
class Leverposition{
private:
int leverposition;
public:
Leverposition(int lever=0)
{
leverposition=lever;
}
void Senseleverup(Dialposition A,Wiperspeed B);
void Senseleverdown(Dialposition A,Wiperspeed B);
int getleverposition();
};
/////////////////////
class Wiperspeed{
private:
int wiperspeed;
public:
Wiperspeed(int speed=0)
{
wiperspeed=speed;
}
void changewiperspeed(int A,int B)
{
if(A==0)
wiperspeed=0;
else if(A==1)
{
if(B==0)
wiperspeed=4;
else if(B==1)
wiperspeed=6;
else
wiperspeed=12;
}
else if(A==2)
wiperspeed=30;
else
wiperspeed=60;
}
void sensechange(int A,int B)
{
changewiperspeed(A,B);
}
int getwiperspeed()
{
return wiperspeed;
}
};
////////////////////////////////
class Dialposition{
private:
int dialposition;
public:
Dialposition(int dial=0)
{
dialposition=dial;
}
void Sensedialup(Leverposition &A,Wiperspeed &B)
{
if(dialposition==2)
cout<<"You have been the top Dial!"<<endl;
else
{
dialposition++;
B.sensechange(A.getleverposition(),dialposition);
}
}
void Sensedialdown(Leverposition &A,Wiperspeed &B)
{
if(dialposition==0)
cout<<"You have been on the lowest Dial!"<<endl;
else
{
dialposition--;
B.sensechange(A.getleverposition(),dialposition);
}
}
int getdialposition()
{
return dialposition;
}
};
/////////////////////////////////
//Leverposition类定义
void Leverposition::Senseleverup(Dialposition A,Wiperspeed B)
{
if(leverposition==3)
cout<<"You have been on top Lever!"<<endl;
else
{
leverposition++;
B.sensechange(leverposition,A.getdialposition());
}
}
void Leverposition::Senseleverdown(Dialposition A,Wiperspeed B)
{
if(leverposition==0)
cout<<"You have been on the lowest Lever!"<<endl;
else
{
leverposition--;
B.sensechange(leverposition,A.getdialposition());
}
}
int Leverposition::getleverposition()
{
return leverposition;
}
void show(Wiperspeed &A,Dialposition &B,Leverposition &C)
{
cout<<"Lever position is:"<<C.getleverposition()<<endl;
cout<<"Dial position is:"<<B.getdialposition()<<endl;
cout<<"Wiper speed is:"<<A.getwiperspeed()<<endl;
}
void menu()
{
cout<<"\t\t.......1:Leverup........."<<endl;
cout<<"\t\t.......2:Leverdown......."<<endl;
cout<<"\t\t.......3:Dialup.........."<<endl;
cout<<"\t\t.......4:Dialdown........"<<endl;
cout<<"\t\t.......0:quit............"<<endl;
}
int main()
{
Dialposition B;
Leverposition C;
Wiperspeed A;
show(A,B,C);
int n;
do{
cout<<"Please input the operation:"<<endl;
menu();
cin>>n;
switch(n)
{
case 1:C.Senseleverup(B,A);break;
case 2:C.Senseleverdown(B,A);break;
case 3:B.Sensedialup(C,A);break;
case 4:B.Sensedialdown(C,A);break;
}
show(A,B,C);
}while(n!=0);
return 0;
}
#include <iostream>
using namespace std;
class Dialposition;
class Wiperspeed{
private:
int wiperspeed;
public:
Wiperspeed(int speed=0)
{
wiperspeed=speed;
}
void changewiperspeed(const int &A,const int &B)
{
if(A==0)
wiperspeed=0;
else if(A==1)
{
if(B==0)
wiperspeed=4;
else if(B==1)
wiperspeed=6;
else
wiperspeed=12;
}
else if(A==2)
wiperspeed=30;
else
wiperspeed=60;
}
void sensechange(const int &A,const int &B)
{
changewiperspeed(A,B);
}
int getwiperspeed()
{
return wiperspeed;
}
};
class Leverposition{
private:
int leverposition;
public:
Leverposition(int lever=0)
{
leverposition=lever;
}
int retleverposition() {
return leverposition;
}
void Senseleverup(Dialposition &A,Wiperspeed &B)
{
if(leverposition==3)
cout <<"You have been on top Lever!" <<endl;
else
{
leverposition++;
//B.sensechange(this->retleverposition(), A.getdialposition());
}
}
void Senseleverdown(Dialposition &A,Wiperspeed &B)
{
if(leverposition==0)
cout <<"You have been on the lowest Lever!" <<endl;
else
{
leverposition--;
//B.sensechange(this->retleverposition(), A.getdialposition());
}
}
int getleverposition()
{
return leverposition;
}
};
class Dialposition{
private:
int dialposition;
public:
Dialposition(int dial=0)
{
dialposition=dial;
}
void Sensedialup(Leverposition &A,Wiperspeed &B)
{
if(dialposition==2)
cout <<"You have been the top Dial!" <<endl;
else
{
dialposition++;
B.sensechange(A.getleverposition(),dialposition);
}
}
void Sensedialdown(Leverposition &A,Wiperspeed &B)
{
if(dialposition==0)
cout <<"You have been on the lowest Dial!" <<endl;
else
{
dialposition--;
B.sensechange(A.getleverposition(),dialposition);
}
}
int getdialposition()
{
return dialposition;
}
};
void show(Wiperspeed &A,Dialposition &B,Leverposition &C)
{
cout <<"Lever position is:" <<C.getleverposition() <<endl;
cout <<"Dial position is:" <<B.getdialposition() <<endl;
cout <<"Wiper speed is:" <<A.getwiperspeed() <<endl;
}
void menu()
{
cout <<"\t\t.......1:Leverup........." <<endl;
cout <<"\t\t.......2:Leverdown......." <<endl;
cout <<"\t\t.......3:Dialup.........." <<endl;
cout <<"\t\t.......4:Dialdown........" <<endl;
cout <<"\t\t.......0:quit............" <<endl;
}
int main()
{
Dialposition B;
Leverposition C;
Wiperspeed A;
show(A,B,C);
int n;
do{
cout <<"Please input the operation:" <<endl;
menu();
cin>>n;
switch(n)
{
case 1:C.Senseleverup(B,A);break;
case 2:C.Senseleverdown(B,A);break;
case 3:B.Sensedialup(C,A);break;
case 4:B.Sensedialdown(C,A);break;
}
show(A,B,C);
}while(n!=0);
return 0;
}