如何输出枚举类型的内容?
如
enum weekday
{
sun,mon,tue,wed,thu,fri,sat
};
enum weekday day;
day=sun;
现知道day的数值为0,如何输出"sun"?
谢谢!
问题点数:50、回复次数:9Top
1 楼steedhorse(晨星)回复于 2004-09-03 13:02:21 得分 10
枚举类型种的东西是源程序的标志符,无法自动转换成运行时的字符串,只能写一个函数,使用switch来输出。Top
2 楼zhangfjj(小张)回复于 2004-09-03 13:02:36 得分 0
enum weekday{sun,mon,tue,wed,thu,fri,sat};
void main()
{
enum weekday day;
day=sun;
printf("%d\n",day);
}
其值就是intTop
3 楼zhangfjj(小张)回复于 2004-09-03 13:03:08 得分 0
没看清,^_^Top
4 楼zhangfjj(小张)回复于 2004-09-03 13:04:47 得分 0
enum weekday{sun,mon,tue,wed,thu,fri,sat};
struct date
{
enum weekday day;
char name[4];
};
定义一个结构体吧! Top
5 楼plainsong(短歌)()回复于 2004-09-03 13:05:13 得分 20
enum weekday
{
sun,mon,tue,wed,thu,fri,sat
};
const char * weekdaystr[] =
{
"sun","mon","tue","wed","thu","fri","sat"
};
...
printf("%s\n", wiikdaystr[(int)day);Top
6 楼yhjvc(拼搏)回复于 2004-09-03 13:43:12 得分 20
//定义枚举类型
typedef enum _WORK{
teach,work,get,loop
}WORKTYPE;
typedef struct _WORKMATTER {
//结构体的结构方法
_WORKMATTER(){
workName[0] ="teach";
workName[1] = "work";
workName[2] = "get";
workName[3] = "loop";
}
//析构方法
~_WORKMATTER(){
}
WORKTYPE work;
const char *workName[4];
//返回枚举值
const char* getDay(WORKTYPE worktype){
return workName[(int)work];
}
} MATTER_TYPE;
//测试
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
MATTER_TYPE workN;
workN.work = work;
const char* wrkName = workN.getDay(workN.work);
cout<<wrkName<<endl;
return 0;
}
Top
7 楼legendwd(冬冬宝)回复于 2004-09-03 16:17:17 得分 0
恩 短歌的写法不错Top
8 楼wwwooowww(熔点)回复于 2004-09-03 16:24:15 得分 0
各位高手个有所长,楼主有宅心仁厚,看来要多学几日了。Top
9 楼wangjinhui(wangjinhui)回复于 2004-09-04 18:13:56 得分 0
“短歌”的写法很巧妙啊,但是在扩展方面会不会有问题?Top




