让用户通过菜单来使用手机

/* 
案例2 手机升级2
让用户通过菜单来使用手机
*/
#include <iostream>
#include<windows.h>
using namespace std;
///
// MOBILE 类,父类
///
class MOBILE
{
	private: //私有成员
		int ID; //窗口ID
	public:
		MOBILE() //构造函数
		{
			ID=0;
		}
		void dial(); //拨打电话
		void answer(); //接听电话
		void hangup(); //挂断电话
};
//拨打电话
void MOBILE::dial(void)
{
	cout<<"拨打电话号码: 13187618709"<<endl;
	cout<<"正在拨号...\n";
}
//接听电话
void MOBILE::answer(void)
{
	cout<<"正在接听来自: 13228712365";
	cout<<" 的电话\n";
	Sleep(3);
}
//挂断电话
void MOBILE::hangup(void)
{
	cout<<"通话结束\n";
	cout<<"\n 待机\n";
}

//MOBIPHONE "品牌"电话,子类
///
class MOBIPHONE:public MOBILE //public 继承
{
	public:
		MOBIPHONE(){} //构造函数
		void time(void); //时间显示功能
		void location(void); //"卫星"定位功能
};
// 显示当地时间
void MOBIPHONE::time(void)
{
	SYSTEMTIME lpSystemTime;
	GetLocalTime( &lpSystemTime );
	cout<<"现在时间:";
	cout<<lpSystemTime.wHour<<":"<<lpSystemTime.wMinute<<":"
		<<lpSystemTime.wSecond<<endl;
}
//显示位置(模拟,经纬度)
void MOBIPHONE::location(void)
{
	//用随机数模拟
	cout<<"您所在的位置是:东经"<<rand()%180<<","<<"北纬"<<rand()%90<<endl;
}

class Menu
{
	private:
		MOBILE M1; //普通电话(简易电话)
		MOBIPHONE M2; //高级电话,可以使用基类的public 成员
	public:
		Menu(void) //构造函数	
		{
			while(true)
			{
				show();	// 无限制调用菜单的显示
			}
		}
		void show();
};

void Menu::show(void)
{
	cout<<endl;
	cout<<"d:拨号"<<endl;
	cout<<"h:挂断"<<endl;
	cout<<"a:接听"<<endl;
	cout<<"t:时间"<<endl;
	cout<<"l:位置"<<endl;
	cout<<"e:退出"<<endl;
	cout<<endl;
	cout<<"请选择:";
	char c;
	cin>>c;
	switch(c)
	{
		case 'd':
		{
			M1.dial (); //用简易电话拨号
			break;
		}
		case 'h':
		{
			M1.hangup (); //挂断
			break;
		}
		case 'a':
		{
			M1.answer (); //接听
			break;
		}
		case 't':
		{
			M2.time();  //显示时间
			break;
		}
		case 'l':
		{
			M2.location(); //显示位置
			break;
		}
		case 'e':
		{
			cout<<"退出"<<endl;
			exit(1);
		}
		default:
		{
			cout<<"请选择正确的操作!"<<endl;
		}

	}
}
/
//主函数
/
int main()
{
	Menu menu;
	return 0;
}

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值