第一次C++作业

混江龙づ霸主 提交于 2019-11-29 14:04:26

枚举类型 enum

一、什么是枚举

枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。
定义:是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。
声明形式:

enum 枚举名 {枚举元素1,枚举元素2,……};

例如:

enum Weekday {SUN,MON,TUE,WED,THU,FRI,SAT};

应用说明:

  • 第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。
  • 对枚举元素按常量处理,不能对他们呢赋值。例如,下面的语句是非法的:

    SUN = 0 ; // SUN是枚举元素,此语句非法

  • 也可以在声明时另行定义枚举元素的值,如:

enum Weekday {SUN = 7,MON = 1,TUE,WED,THU,FRI,SAT};

定义SUN为7,MON为1,以后顺序加1,SAT为6。

  • 枚举值可以进行关系运算。
  • 整数值不能直接给枚举变量,如需要将整数值给枚举变量,应进行强制类型转换。

二、应用实例

问题: 设某次体育比赛的结果有四种可能:胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCEL),编写程序顺序输出这四种情况。
分析: 由于比赛结果只有四种可能,所以可以声明一个枚举类型,用一个枚举类型的变量来存放比赛结果。
源程序 :
#include "pch.h"
# include
using namespace std;
enum GameResult { WIN, LOSE, TIE, CANCEL };
int main() {
GameResult result;
enum GameResult omit = CANCEL;

                    for (int count = WIN; count <= CANCEL; count++) {
                    result = GameResult(count);
                            if (result == omit)
                            cout << "The game was cancelled"<<endl;
                    else {
                    cout << "The game was played ";
                if (result == WIN)
                cout << "and we won!";
                if (result == LOSE)
                cout << "and we lost.";
                cout << endl;
            }
        }
        return 0;

    }

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!