枚举

枚举类型定义方法

  • 语句格式
    enum <枚举类型名>{枚举常量表};
  • eg:
    • enum Week{Sun, Mon, Tes, Wed, Thu, Fri, Sat};
      //Sun=0,Mon=1,Tes=2,Wed=3,Thu=4,Fri=5,Sat=6
    • enum Coin {PENNY=1, NICKEL=5, DIME=10, QUARTER=25, HALF_DOLLAR=50, DOLLAR=100};
      *enum Color {red, yellow, blue=1, white, black};
      //red=0,yellow=1,blue=1,white=2,black=3
  • 注意:
    枚举常量是以标识符形式表示的整型量,而不是字符串或字面常量

枚举变量声明方法

  • 语句格式
    enum <枚举类型名> <枚举变量列表>;
  • 声明时机
    • 定义枚举类型后声明
      enum COLOR background,foreground;
    • 定义枚举类型同时声明
      enum Week {Sun=7, Mon=1, Tes, Wed, Thu, Fri, Sat} begin, end;

枚举变量的使用方法

enum Week {Sun=7,Mon=1,Tes,Wed,Thu,Fri,Sat} begin, end;
cin>>background; //直接输入枚举变量,错误
begin=1; //整数赋给枚举变量,错误
begin=Mon; //将枚举常量赋给枚举变量,正确
end = Sun;
begin = end; //相同类型的枚举变量赋值正确
begin=(Week)1; //整数强制类型转换后赋给枚举变量,正确
int a=begin; //将枚举变量赋给整型变量,正确
int b=Sun; //将枚举常量赋给整型变量,正确
cout<<begin; //可以直接输出枚举变量,正确
cout<<end-begin; //枚举变量可以参加数学运算,正确

三色球组合

口袋中有红、黄、蓝3种颜色的小球,如果每次从口袋中 取出3种不同颜色的小球,编写程序,打印出每种组合。

enum color{red,yellow,blue}; 
int temp,i,j; 
for(i=red;i<=yellow;i++){
    for(j=i+1;j<=blue;j++) {
        for(int t=0;t<2;t++){
            switch(t){
            case 0: temp=i; break;
            case 1: temp=j; break;
            }
            switch((enum color)temp){
            case red: cout<<"red"<<"\t"; break;
            case yellow: cout<<"yellow"<<"\t"; break; 
            case blue: 
            cout<<"blue"<<"\t"; break;
            } 
        }
    cout<<"\n";
    }
}

本例学到

  1. 枚举类型定义方法
    enum color{red,yellow,blue};
  2. 枚举变量声明方法
    switch((enum color)temp)
  3. 枚举变量使用方法
    for(i=red;i<=yellow;i++)
  4. 多路分支

    switch(t){
    case 0: temp=i; break;
    case 1: temp=j; break;
    }
  5. 循环嵌套

    for(i=red;i<=yellow;i++)
    for(j=i+1;j<=blue;j++)
    for(int t=0;t<2;t++)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值