cppTest-4.7:枚举

/**
 *cppTest-4.7:枚举
 *
 *author 炜sama
 */
#include<iostream.h>
void main()
{
	enum enumTest{a,b,c,d,e};//默认a=0,其他以此类推
	enum enumTest et;

	et=enumTest(0);//用枚举类型给枚举变量赋值
	cout<<et<<endl;

	et=b;//直接用枚举类型里的元素给枚举变量赋值
	cout<<et<<endl;

	//et=2;//错误,类型不同!
	et=(enumTest)2;//强制转换就可以!
	cout<<et<<endl;

	et=(enumTest)5;//5不在枚举类型中,也可以赋值!
	cout<<et<<endl;

	//et=(enumTest)5.0f;//float不可以!
	//et=(enumTest)5.0;//double不可以!
	et=(enumTest)'1';//char可以!因为char本身就可以转化为int?
	cout<<et<<endl;
	et=(enumTest)-5;//负数可以!
	cout<<et<<endl;

	//可以在枚举定义的任意元素处修改数值,值可以重复。Fri=5,Sat手动修改为5,那Sun就变成了6!
	enum week_day{Mon=1,Tue,Wed,Thu,Fri,Sat=5,Sun}today;
	week_day wd=Sat;
	cout<<wd<<endl;
	wd=Sun;
	cout<<wd<<endl;

	static char *day[]={" ","Mon","Tue","Wed","Thu","Fri","Sat","Sun"};
	char f;
	int i=1;
	while(1){
		do{
			cout<<"Today is "<<day[i]<<"?(y/n):";
			cin>>f;
		}while(!(f=='y'||f=='Y'||f=='n'||f=='N'));
		today=week_day(i);
		if(f=='y'||f=='Y'){
			cout<<"Tomorrow is:";
			if(today==Sun)
				cout<<"Mon"<<endl;
			else
				cout<<day[int(today)+1]<<endl;
			break;
		}
		i>6?i=1:i++;
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章