c++枚举类型枚举变量有什么用

书上说一个枚举变量保存一个枚举值,程序通过判断其保存的值不同来决定执行什么动作。可是看下面这个程序#include<iostream>usingnamespacestd;... 书上说一个枚举变量保存一个枚举值,程序通过判断其保存的值不同来决定执行什么动作。
可是看下面这个程序
#include<iostream>
using namespace std;
int main ()
{
enum Day{MONDAY=1, TUESDAY, FRIDAY}day;
int number;
cin>>number;
switch (number)
{
case MONDAY :
cout<<"good";
break;
case TUESDAY:
cout<<"well";
break;
case FRIDAY:
cout<<"better";
break;
}

system ("pause");
return 0;
}
day完全没有排上用场,及时不写也是正确的。
但如果直接cin>>day,它却提示是错误的
那么这个枚举变量有什么用呢
展开
 我来答
jackwind1987
推荐于2016-09-04 · TA获得超过2738个赞
知道大有可为答主
回答量:1268
采纳率:50%
帮助的人:488万
展开全部
关键在于那个day不能通过cin输入,只能输入一个整数转化为枚举类型。但是枚举的意义就在于不直接写数字而使用标识符来表示抽象的概念,所以不应该直接输入这个枚举值,直接输入就失去了标识符的意义,直接用数字就好了,你的代码也证明了这一点。枚举值一般都是直接用的而不是输入的,是某种中间结果,而不是直接输入的。
追问
{MONDAY=1, TUESDAY, FRIDAY}是我的枚举值,用数字number的输入来间接使用了枚举值MONDAY或者TUESDAY等,但那个day不就没有任何作用吗?为什么书本上要加一个它
追答
少年,如果是书上的程序的话,我可以负责任的告诉你,中文的书上没有瑕疵的代码,实在是太少了。
匿名用户
2013-12-23
展开全部
day在这里好像没什么用,只不过是一个Day类型的枚举变量。还有switch语句最后最好加上default。cin>>day是错误的,因为只能用MONDAY,TUESDAY,FRIDAY来赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奶加茶的vivi
2013-12-23
知道答主
回答量:28
采纳率:0%
帮助的人:24.3万
展开全部
用枚举主要是为了增强程序的可读性,一般作为中间结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2021-04-12 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式