C++第一次作业

mac2022-06-30  10

枚举类型教案设计

问题导入: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

相关资源:C语言程序第一次在线作业.doc
最新回复(0)