C++第一次作业
一.课题
1:枚举类型 enum
二.教学目的
1:掌握enum 枚举类型名
三.教学重点
1:熟练的掌握枚举类型,并且在熟练的运用。
四:教学过程
1:枚举类型应用声明
如果用整数0-6来代替一星期的7天,那么变量值为8便是不合法数据。c++中的枚举类型就是专门用来解决这类问题的。
只要将变量的可取值一一列举出来,便构成了一个枚举类型。枚举类型的声明形式如下:
enum 枚举类型名 {变量值列表};
列入:
enum Weekday {SUN,MON,TUE,WED,THU,FRI,SAT};
枚举类型应用说明:
对枚举元素按常量处理,不能对它们赋值。列如,下面的语句是非法的:
SUN=0; //SUN 是枚举元素,此语句非法
枚举元素具有默认值,它们依次为:0,1,2,....。列如,上例中SUN的值为0,MON为1,TUE为2,...,SAT为6。
也可以在声明时另行定义枚举元素的值,如:
enum Weekday {SUN=7,MON=1,TUE,WED,THU,FRI,SAT};
定义SUN为7,MON为1,以后顺序加1,SAT为6。
枚举值可以进行关系运算。
整数值不能直接赋给枚举变量,如需要将整数赋值给枚举变量,应进行强制类型转换。
例如:设某次体育的结果有4种可能:胜(WIN),负(LOSE),平局(TIE),比赛取消(CANCEL),编写程序顺序输出这4钟可能情况。
分析:由于比赛结果只有4种可能,所以可以声明一个枚举类型,用一个枚举类型的变量来存放比赛结果。
源程序:
include
using namespace std;
enum GameResult{WIN,LOSE,TIE,CANCEL};
int main()
{
GameResult result; //声明变量时,可以不写关键字enum
enum GameResult omit=CANCEL;//也可以在类型名前写enum
for(int count=WIN;count<=CANCEL;count++)//隐含类型转换
{
result=GameResult(count); //显式类型转化
if(resultomit)
cout<<"The game was cancelled"<<endl;
else
{
cout<<"The game was played"<<endl;
if(resultWIN)
cout<<"and we won";
else(result==LOSE);
cout<<"and we lost";
}
}
return 0;
}
截图