第一次C++作业

枚举类型 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 <iostream>
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;
}

posted @ 2019-09-14 14:30  罗斯柴尔德  阅读(206)  评论(0编辑  收藏  举报