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(result
WIN)
cout<<"and we won";
else(result==LOSE);
cout<<"and we lost";
}
}
return 0;
}

截图1568534775025

posted @ 2019-09-15 16:09  cykablyat  阅读(205)  评论(0编辑  收藏  举报