千亩计者 发表于 2016-8-15 17:58:43

想问一下怎样实现枚举与switch语句的结合??

#include<iostream>
using namespace std;
int main()
{
        enum weekeds{monday,tuesday,wndnessday,thursday,friday,saturday,sunday};
        weekeds today;
    cout<<monday<<" _ "<<sunday<<endl;//编译器识别到枚举类型时就会将枚举变量按数组形式从0开始规划
   
        cout<<"请在0 ~ 6选一个作为日期:"<<endl;
        switch(today)//此时的枚举变量已经是整型值,可以作为switch的case标号使用
        {

        case monday : cout<<"今天是个好日子!"<<endl;break;
        default : cout<<"输入错误!请重新输入";
               
        }
        return 0;
}

千亩计者 发表于 2016-8-15 18:01:35

输入整数(1)可以,但是输入字符"monday"就不行鸟~~......

lx_Zz 发表于 2016-8-15 19:52:47

没懂楼主想说什么、一篇枚举的资料
http://www.cnblogs.com/JCSU/articles/1299051.html

茉yoyo 发表于 2016-8-15 19:54:51

只能把枚举值(比如monday)赋予枚举变量(比如today),而不能把元素的数值(比如1)直接赋予枚举变量(today)。如一定要把数值赋予枚举变量,则必须用强制类型转换,比如weekeds today = weekeds(0),则表示给today定义为monday

千亩计者 发表于 2016-8-15 19:55:15

lx_Zz 发表于 2016-8-15 19:52
没懂楼主想说什么、一篇枚举的资料
http://www.cnblogs.com/JCSU/articles/1299051.html

好的 谢谢{:7_146:}

茉yoyo 发表于 2016-8-15 19:58:38

在你的程序找不到需要输入的地方啊

千亩计者 发表于 2016-8-15 19:58:39

茉yoyo 发表于 2016-8-15 19:54
只能把枚举值(比如monday)赋予枚举变量(比如today),而不能把元素的数值(比如1)直接赋予枚举变量(toda ...

恩 恩 谢谢美女~

千亩计者 发表于 2016-8-15 20:00:43

茉yoyo 发表于 2016-8-15 19:58
在你的程序找不到需要输入的地方啊

我给珊了,因为我的做法不对
页: [1]
查看完整版本: 想问一下怎样实现枚举与switch语句的结合??