好东西——电梯问题
电梯出了问题,看看下面的图片就知道了相关代码如下:
#include<iostream.h>
#include<process.h>
void about()
{
char s;
void main1();
cout<<"**************************************************"*************"<<endl;
cout<<"* 本程序的文档以及程序编译由以下人员组成: *"<<endl;
cout<<"* *"<<endl;
cout<<"* *"<<endl;
cout<<"****************************************************************"<<endl;
cout<<"请选择下一步执行:"<<endl;
cout<<"返回[F]||退出[O]"<<endl;
a: cin>>s;
switch(s)
{
case 'f': main1();
case 'o': exit(0);
default : cout<<"输入有误!请重新输入:"; goto a;
}
}
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
class floor
{
public:
chose(int s,int k);//选择是上升还是下降,s是传来的目的地,k是传来的人员当前楼层
up(int b);//上升函数
down(int b);//下降函数
private:
int i,a;//i表示电梯的运行位置,a表示电梯的当前楼层
};
/////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
floor::chose(int s,int k)
{
a=k;
if(s>k) up(s);
else down(s);
}
floor::down(int b)
{
cout<<"电梯门开……"<<endl;
cout<<"电梯门关……"<<endl;
cout<<"电梯开始运行……"<<endl;
for(i=a;i>=b;i--)
{
cout<<"你的当前楼层是:"<<i<<endl;
}
cout<<"电梯门开……"<<endl;
cout<<"电梯门关……"<<endl;
}
floor::up(int b)
{
cout<<"电梯门开……"<<endl;
cout<<"电梯门关……"<<endl;
cout<<"电梯开始运行……"<<endl;
for(i=a;i<=b;i++)
{
cout<<"你当前楼层是:"<<i<<endl;
}
cout<<"电梯门开……"<<endl;
cout<<"电梯门关……"<<endl;
}
//////////////////////////////////////////////////
//////////////////////////////////////////////////
//////////////////////////////////////////////////
class people
{
public:
howmanypeople();//进入电梯的人员数量
floorgo();//人员要去的楼层函数
flooron();//人员的当前楼层
private:
int s,f,a;//s表示进入电梯的人员数量,f表示人员要去的楼层,a表示人员的当前楼层
};
//////////////////////////////////////////////////
//////////////////////////////////////////////////
people::howmanypeople()
{
cout<<"请输入要进入电梯的人员数量(0~10):";
cin>>s;
return(s);
}
people::floorgo()
{
cout<<"请输入人员要去的楼层(1~8):";
cin>>f;
return(f);
}
people::flooron()
{
cout<<"请输入人员的当前楼层(1~8):";
cin>>a;
return(a);
}
////////////////////////////////////////////////
////////////////////////////////////////////////
////////////////////////////////////////////////
void star()
{
int n,f,m;//n为电梯要载的人数,f为当前楼层,m表示人员的目的地
char d;//下一步执行
void main1();
people p1;
floor f1;
cout<<"本电梯程序只能模拟8层楼,电梯的人员数量限制是10人"<<endl;
f=p1.flooron();//得到人员的当前楼层
while(f>8||f<1)//判断人员的当前楼层是否合法
{
f=p1.flooron();
}
n=p1.howmanypeople();//得到进入电梯的人员数
while(n>10)//判断人员数量是否超限
{
n=p1.howmanypeople();
}
m=p1.floorgo();//得到人员的目的地
while(m>8||m<1)//判断目的地是否合法
{
m=p1.floorgo();
}
f1.chose(f,m);
l: cout<<"请选择下一部执行"<<endl;
cout<<"继续[G]||返回[F]||退出[O]"<<endl;
cin>>d;
switch(d)
{
case 'g': star();
case 'f': main1();
case 'o': exit(0);
default : cout<<"输入不合法!";goto l;
}
}
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
void main1()
{
char a;
cout<<"开始[S]||关于[A]||退出[O]"<<endl;
b: cin>>a;
switch(a)
{
case 's': star();
case 'a': about();
case 'o': exit(0);
default : cout<<"你输入的数据错误!请重新输入:"; goto b;
}
}
///////////////////////////////////////////////
///////////////////////////////////////////////
///////////////////////////////////////////////
void main()
{
char a;
cout<<"开始[S]||关于[A]||退出[O]"<<endl;
l: cin>>a;
switch(a)
{
case 's': star();
case 'a': about();
case 'o': exit(0);
default : cout<<"你输入的数据错误!请重新输入:"; goto l;
}
}
其中用了几个goto,主要是为了方便
希望大家帮忙看看