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++;
	}
}

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