C++面向对象的编程思想机器人

C++的面向对象的编程思想如下,一般情况为一个类中包含了这个对象的所有属性与函数,直接调用这个对象就可以对这个对象执行它可以使用的任何操作。

#include <iostream>

class Robot
{
public:
	Robot() :Battery(100){}//构造一个机器人的时候让机器人的电量值为满格
	void speak();//发言函数
	void charge();//充电函数
	void function(int i);//选择功能函数
private:
	unsigned short Battery;//电池
};

int main()
{
	Robot ShaQiang;
	ShaQiang.speak();
	system("pause");
	return 0;
}

void Robot::function(int i)
{
	switch (i)
	{
	case 1:
		if (Battery < 10)
		{
			std::cout << "电量不够无法执行\n";
			break;
		}
		else
		{
			Battery -= 10;
			std::cout << "茶已沏好老板请喝!\n";
			break;
		}
	case 2:
		if (Battery < 15)
		{
			std::cout << "电量不够无法执行\n";
			break;
		}
		else
		{
			Battery -= 15;
			std::cout << "咖啡已冲泡老板请喝!\n";
			break;
		}
	case 3:
		if (Battery > 5)
		{
			std::cout << "待机成功\n";
			break;
		}
		else
		{
			std::cout << "待机成功\n";
			std::cout << "提示:电量已不足5%\n";
			break;
		}
	default:
		std::cout << "输入错误\n"; break;
	}
}


void Robot::speak()
{
	int i = 0;
	char x = '0';
	while (1)
	{
		if (Battery < 1)
		{
			std::cout << "电量为0强制充电中....\n";
			Battery += 30;
			std::cout << "强制充电完毕目前电量为:" << Battery << std::endl;
		}
		
		if (Battery <= 10)
		{
			std::cout << "目前电量:" << Battery << "需要充电吗?y/n\n";
			std::cin >> x;
			if (x == 'y' || x == 'Y')
			{
				charge();
			}
			else if (x == 'n' || x == 'N')
			{
				std::cout << "不执行充电\n";
			}
			else std::cout << "输入错误\n";
		}

		Battery -= 1;
		std::cout << "老板是要喝茶还是喝咖啡\n";
		std::cout << "(1)喝茶(2)喝咖啡(3)待机:";
		std::cin >> i;
		function(i);
		if (i == 3)
		{
			break;
		}
	}
}

void Robot::charge()
{
	std::cout << "目前电量为:" << this->Battery << std::endl;
	if (Battery == 100)
	{
		std::cout << "电量已满不需要充电\n";
	}
	else
	{
		std::cout << "充电过程不会写!暂时省略!\n";
		this->Battery = 100;
		std::cout << "充电完成目前电量为:" << this->Battery << std::endl;
	}
}

  

posted on 2015-04-24 23:03  小咒  阅读(622)  评论(0编辑  收藏  举报

导航