⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elevator.cpp

📁 C++的常用算法
💻 CPP
字号:
//这个程序在本书所带软盘中。文件名为ELEVATOR.CPP
//这个程序演示对电梯运行状况的简单模拟。

#include <iostream.h>
#include <dos.h>

const int h_floor = 10;
const long max_delay = 999999;

class elvtor
{
	private:
		int f_current;
		void delay(int);
	public:
		elvtor(void) { f_current = 1; }		//直接构造函数并设置初始值
		void require(int, int);
};

//编写成员子程序
void elvtor::delay(int max)					//延时
{
	for(int i = 0; i < max; i++)
	{
	}
}

void elvtor::require(int s_floor, int destiny)
{
	if (s_floor < 1 || s_floor > h_floor || s_floor == f_current || s_floor == destiny)
		;									//什么也不做
	else if ( s_floor > f_current)			//往上
	{
		cout << "开始楼层 " << f_current << endl;
		while (s_floor > f_current)
		{
			delay(max_delay);
			f_current++;					//楼层加1
			cout << "   往上 - 现在楼层 " << f_current << endl;
		}
		cout << "现在楼层 " << f_current << endl;
		cout << "请进,电梯将去楼层 " << destiny << endl;
	}
	else									//往下
	{
		cout << "开始楼层 " << f_current << "\n";
		while (s_floor < f_current)
		{
			delay(max_delay);
			f_current--;					//当前楼层减1
			cout << "   往下 - 现在楼层 " << f_current << endl;
		}
		cout << "现在楼层 " << f_current << "\n";
		cout << "请进,电梯将去楼层 " << destiny << endl;
	}

	if (destiny > f_current)				//往上
	{
		while (destiny > f_current)
		{
			delay(max_delay);
			f_current++;
			cout << "    往上 - 现在楼层 " << f_current << endl;
		}
		cout << "你要去的楼层 " << f_current << " 到了。欢迎再使用电梯!" << endl;
	}
	else									//往下
	{
		while (destiny < f_current)
		{
			delay(max_delay);
			f_current--;
			cout << "    往下 - 现在楼层 " << f_current << endl;
		}
		cout << "你要去的楼层 " << f_current << " 到了。欢迎再使用电梯!" << endl;
	}
	cout << endl;
}

void main(void)
{
	elvtor elevator;			//定义一个电梯对象elevator并设置初始值为楼层1
	elevator.require(6, 2);		//在楼层6,要往下到楼层2
	elevator.require(10,1);		//在楼层10,要往下到楼层1
	elevator.require(2, 5);		//在楼层2,要往上到楼层5
}

/*这个程序运行后将显示如下输出结果:
开始楼层 1
   往上 - 现在楼层 2
   往上 - 现在楼层 3
   往上 - 现在楼层 4
   往上 - 现在楼层 5
   往上 - 现在楼层 6
现在楼层 6
请进,电梯将去楼层 2
    往下 - 现在楼层 5
    往下 - 现在楼层 4
    往下 - 现在楼层 3
    往下 - 现在楼层 2
你要去的楼层 2 到了。欢迎再使用电梯!

开始楼层 2
   往上 - 现在楼层 3
   往上 - 现在楼层 4
   往上 - 现在楼层 5
   往上 - 现在楼层 6
   往上 - 现在楼层 7
   往上 - 现在楼层 8
   往上 - 现在楼层 9
   往上 - 现在楼层 10
现在楼层 10
请进,电梯将去楼层 1
    往下 - 现在楼层 9
    往下 - 现在楼层 8
    往下 - 现在楼层 7
    往下 - 现在楼层 6
    往下 - 现在楼层 5
    往下 - 现在楼层 4
    往下 - 现在楼层 3
    往下 - 现在楼层 2
    往下 - 现在楼层 1
你要去的楼层 1 到了。欢迎再使用电梯!

开始楼层 1
   往上 - 现在楼层 2
现在楼层 2
请进,电梯将去楼层 5
    往上 - 现在楼层 3
    往上 - 现在楼层 4
    往上 - 现在楼层 5
你要去的楼层 5 到了。欢迎再使用电梯!
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -