一、题目要求

1、可以获得电梯所在楼层

2、电梯到达用户可以输入要去的楼层

3、电梯根据用户的指令到达所在楼层

二、设计思路

1、利用延时函数Sleep(),使电梯在经过每一层时有一个时间过程

2、通过获取电梯所在楼层和电梯要去的楼层可以算出一个到达时间

3、当电梯到达的时候,用‘\a’输出一个声音,用来表示电梯已经到达

三、程序源码

#include<iostream.h>
#include<windows.h>    //Sleep延时函数,包含在这个头文件里

int main()
{
	int a,b,c,m,i;
	cout<<"**********模拟电梯运行************"<<endl;
	cout<<"请输入电梯现在所在楼层:";
	cin>>a;
	cout<<endl;
	cout<<"请输入你现在所在楼层:";
	cin>>b;
	cout<<endl;
	if(b>=2&&b<8)
	{
		cout<<"电梯不停2~7楼!"<<endl;
		cout<<"请输入你现在所在楼层:";
		cin>>b;
		cout<<endl;
	}
	cout<<"请选择您乘坐的方向:"<<endl;
	cout<<"上行(1)"<<endl;
	cout<<"下行(0)"<<endl;
	cin>>c;
	if(c==1)
	{
		if(a<b)
		{
			cout<<"电梯估计在"<<3*(b-a)<<"s后到达你所在楼层!"<<endl;
			for(i=a+1;i<=b;i++)
			{
				cout<<"电梯正在上行到第"<<i<<"层楼"<<endl;
				Sleep(3000);               //使用延时函数,表现电梯运行的时间间隔
			}
		}
		else
		{
			cout<<"电梯估计在"<<3*(a-b)<<"s后到达你所在楼层!"<<endl;
			for(i=b-1;i>=a;i--)
			{
				cout<<"电梯正在下行到第"<<i<<"层楼"<<endl;
				Sleep(3000);
			}
		}
		cout<<'\a'<<"电梯已到第"<<b<<"层,请进入电梯。"<<endl;    //'\a'输出一个声音
		cout<<"请选择要去的楼层:";
		cin>>m;
		cout<<"关门中(2s)......."<<endl;
		Sleep(2000);
		cout<<"电梯估计在"<<3*(m-b)<<"s后到达你所去楼层!"<<endl;
		for(i=b+1;i<=m;i++)
		{
			cout<<"电梯正在上行到第"<<i<<"层楼"<<endl;
			Sleep(3000);;
		}
		cout<<'\a'<<"第"<<m<<"层已经到了!"<<endl;
		Sleep(3000);
	}
	else
	{
		if(a<b)
		{
			cout<<"电梯估计在"<<3*(b-a)<<"s后到达你所在楼层!"<<endl;
			for(i=a+1;i<=b;i++)
			{
				cout<<"电梯正在上行到第"<<i<<"层楼"<<endl;
				Sleep(3000);
			}
		}
		else
		{
			cout<<"电梯估计在"<<3*(a-b)<<"s后到达你所在楼层!"<<endl;
			for(i=a-1;i>=b;i--)
			{
				cout<<"电梯正在下行到第"<<i<<"层楼"<<endl;
				Sleep(3000);
			}
		}
		cout<<'\a'<<"电梯已到第"<<b<<"层,请进入电梯。"<<endl;
		cout<<"请选择要去的楼层:";
		cin>>m;
		if(m>1&&m<8)
			{
				cout<<"电梯不在2~7楼停靠!"<<endl;
				cout<<"请在8楼下,走楼梯步行!"<<endl;
				cout<<"关门中(2s)......."<<endl;
				Sleep(2000);
				cout<<"电梯估计在"<<3*(b-8)<<"s后到达第8楼层!"<<endl;
				for(i=b;i>=8;i--)
				{
					cout<<"电梯正在下行到第"<<i<<"层楼"<<endl;
					Sleep(3000);
				}
				cout<<'\a'<<"第"<<8<<"层已经到了,请走楼梯,谢谢!"<<endl;
				Sleep(3000);
			}
		else
		{
			cout<<"关门中(2s)......."<<endl;
			Sleep(3000);
			cout<<"电梯估计在"<<3*(b-8)<<"s后到达你所在楼层!"<<endl;
		for(i=b;i>=m;i--)
		{
			cout<<"电梯正在下行到第"<<i<<"层楼"<<endl;
			Sleep(3000);
		}
		cout<<'\a'<<"第"<<m<<"层已经到了!"<<endl;
		Sleep(3000);
		}
	}
	return 0;
}

 四、实验截图

五、实验总结

这个实验可难倒我和小伙半了,我们分别请教了大神和度娘,像十月怀胎一样才写出来。

言归正传,这次我们还是经验颇多的。

1、经过实际调研,才知道电梯如何运行,以及运行的时间。这样,让程序更具备时效性。

2、经历了痛苦的编程后,有一种数学模型被模拟出来的感觉,瞬间高大上有木有。

3、收获颇多,感触颇多,两人分工,一举两得。

posted on 2015-04-15 17:01  掬雪煮茶  阅读(172)  评论(0编辑  收藏  举报