枚举类型的⽤法
枚举类型的定义
枚举类型(enumeration)是C++中的⼀种派⽣数据类型,它是由⽤户定义的若⼲枚举常量的集合。
应⽤举例:
enum color_set1 {RED, BLUE, WHITE, BLACK}; //定义枚举类型color_set1
enum week {Sun, Mon, Tue, Wed, Thu, Fri, Sat}; //定义枚举类型week
枚举变量的使⽤
定义枚举类型的主要⽬的是:增加程序的可读性。枚举类型最常见也最有意义的⽤处之⼀就是⽤来描述状态量,这点将在第9章输⼊输出流类看到。
定义格式:定义枚举类型之后,就可以定义该枚举类型的变量,如:
color_set1 color1, color2;
亦可类型与变量同时定义(甚⾄类型名可省),格式如下:
enum {Sun,Mon,Tue,Wed,Thu,Fri,Sat} weekday1, weekday2;
应⽤举例
【例2.24】⼝袋中有红、黄、蓝、⽩、⿊五种颜⾊的球若⼲个,每次从⼝袋中取三个不同颜⾊的球,统计并输出所有的取法。(查看动画演⽰:)#include<iostream>
#include<iomanip>
using namespace std;
int main(){
enum color_set {red,yellow,blue,white,black};
color_set color;
int i,j,k,counter=0,loop;
for(i=red;i<=black;i++)
for(j=red;j<=black;j++)
if(i!=j){                        //前两个球颜⾊不同
for(k=red;k<=black;k++)
if(k!=i&&k!=j){        //第三个球不同于前两个,满⾜要求                        counter++;
if((counter)%22==0){ //每屏显⽰22⾏
cout<<"请按回车键继续";
<();
}
cout<<setw(15)<<counter;
/*下⾯输出每种取法,⼀⾏为⼀种取法的三个颜⾊*/                        for(loop=1;loop<=3;loop++){
switch(loop){
case 1: color=(color_set) i; break;    //第⼀个是i                            case 2: color=(color_set) j; break;    //第⼆个是j                            case 3: color=(color_set) k; break;    //第三个是k                            }
switch(color){
case red:  cout<<setw(15)<<"red";  break;
case yellow:cout<<setw(15)<<"yellow";break;                            case blue:  cout<<setw(15)<<"blue";  break;
case white:    cout<<setw(15)<<"white"; break;                            case black: cout<<setw(15)<<"black"; break;
}enum类型如何使用
}
cout<<endl;            //输出⼀种取法后换⾏
}
}
cout<<"共有:"<<counter<<"种取法"<<endl;
return 0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。