C++第一次作业

枚举类型教案设计

问题导入:Q:表示一周的七天能用什么数据类型表示?

A:int类型就可以,1234567就能表示一周了。

Q:这样输入8则虽是合法整数但显然不是一周内,这样没法通过数据类型判断是不是合法,我们应该用什么数据类型呢?

A:可以只用1到7吗?有这种数据类型吗?  c++是允许取某数据类型的子集作为新定义的数据类型

枚举类型:用户自定义的一种数据类型(与系统自定义好的——int ,float等相对)需声明时将变量的可取值在变量列表一一列出。

    声明形式:enum  枚举类型名  {变量值列表}

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

注:1.他是个整型的子集——实质  因此枚举值可以做关系运算   且声明时如果不定义值则会依次取默认值{0,1,2,3,4,5,6}

       2.但枚举元素要视为常量 除定义外不能进行赋值,而定义中从开始定义的一项依次加1 (定义SUN为1,则MON为2,不定义默认为SUN为0)

但作为一个常量,枚举元素可以给其他变量赋值。

       3.整数值要赋给枚举变量要进行强制转换,如果不在枚举值的范围内则强转失败。

 

例:体育比赛的结果又四种可能:WIN,LOSE,TIE,CANCEL编写程序输出这四种情况、

一共四种选择可以声明一个枚举类型的变量存放比赛的结果。

#include <iostream>
using namespace std;
enum GameResult {WIN,LOSE,TIE,CANCEL};
int main(){
  GameResult result;
  GameResult omit=CANCEL;    /*此时加不加enum都可以
  for (int count =WIN;count<=CANCEL;count++){
    result=GameResult(count);  /*对枚举元素赋值要先强转
    if(result==omit)
    count<<"The game was cancelled"<<endl;
    else{
    count<<"The game was palyed";
    if(result==WIN)  count<<"and we won!";
    if(result==LOSE)  count<<"and we lost.";
    count<<end; 
    }
  }
  return 0;
}

 

转载于:https://www.cnblogs.com/npc1158947015/p/11523282.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值