| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1261 人关注过本帖
标题:好东西——电梯问题
只看楼主 加入收藏
cxwl3sxl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:495
专家分:129
注 册:2005-11-12
结帖率:100%
收藏
 问题点数:0 回复次数:4 
好东西——电梯问题
电梯出了问题,看看下面的图片就知道了
图片附件: 游客没有浏览图片的权限,请 登录注册

相关代码如下:
#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,主要是为了方便
希望大家帮忙看看
搜索更多相关主题的帖子: 电梯 cout endl void 
2006-05-19 20:35
cxwl3sxl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:495
专家分:129
注 册:2005-11-12
收藏
得分:0 
怎么就没有人呢?????救…………………………

努力,哈哈,总有一天会变成高手~~~~~~因为我相信:没有办不到,只有想不到!http://t..cn/fpress
2006-05-19 20:51
c120110
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-2-19
收藏
得分:0 
有人呢!在慢慢看着呢!

2006-05-20 00:37
gree
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2005-11-2
收藏
得分:0 
#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 a,int b);//上升函数
down(int a,int b);//下降函数

private:
int i,a;//i表示电梯的运行位置,a表示电梯的当前楼层
};
/////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
floor::chose(int s,int k)
{
//a=k;
if(s>k) down(s,k); //s>k是电梯下降的情况,不能用up()
else up(s,k);
}
floor::down(int a,int b)
{
cout<<"电梯门开……"<<endl;
cout<<"电梯门关……"<<endl;
cout<<"电梯开始运行……"<<endl;
for(i=a;i>=b;i--)
{
cout<<"你的当前楼层是:"<<i<<endl;
}
cout<<"电梯门开……"<<endl;
cout<<"电梯门关……"<<endl;
}
floor::up(int a,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;
}
}

[此贴子已经被作者于2006-5-20 10:31:40编辑过]


2006-05-20 10:29
cxwl3sxl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:495
专家分:129
注 册:2005-11-12
收藏
得分:0 

楼上的老大改的不错,不过其实还可以这样改,而且非常简单,将程序中的
f1.chose(f,m)改为
f1.chose(m,f)就可以了,仔细研究就会发现是参数传反了!


努力,哈哈,总有一天会变成高手~~~~~~因为我相信:没有办不到,只有想不到!http://t..cn/fpress
2006-05-24 18:57
快速回复:好东西——电梯问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018926 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved