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,它却提示是错误的
那么这个枚举变量有什么用呢 展开
可是看下面这个程序
#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,它却提示是错误的
那么这个枚举变量有什么用呢 展开
展开全部
关键在于那个day不能通过cin输入,只能输入一个整数转化为枚举类型。但是枚举的意义就在于不直接写数字而使用标识符来表示抽象的概念,所以不应该直接输入这个枚举值,直接输入就失去了标识符的意义,直接用数字就好了,你的代码也证明了这一点。枚举值一般都是直接用的而不是输入的,是某种中间结果,而不是直接输入的。
追问
{MONDAY=1, TUESDAY, FRIDAY}是我的枚举值,用数字number的输入来间接使用了枚举值MONDAY或者TUESDAY等,但那个day不就没有任何作用吗?为什么书本上要加一个它
追答
少年,如果是书上的程序的话,我可以负责任的告诉你,中文的书上没有瑕疵的代码,实在是太少了。
2013-12-23
展开全部
day在这里好像没什么用,只不过是一个Day类型的枚举变量。还有switch语句最后最好加上default。cin>>day是错误的,因为只能用MONDAY,TUESDAY,FRIDAY来赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用枚举主要是为了增强程序的可读性,一般作为中间结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询