注册 登录
编程论坛 C++教室

求教

张海锋 发布于 2012-12-14 12:58, 271 次点击
怎么这个枚举类型用不了的啊#include<iostream.h>
enum weekend{日,一,二,三,四,五,六};
int main()
{
    int n,y,r;
    cin>>n;cout<<"年"<<'\t';
    cin>>y;cout<<"月"<<'\t';
    cin>>r;cout<<"日"<<'\t';
    for(int a=0;a<=6;a++)
    {
        cout<<"星期"<<(weekend)a<<'\t'<<'\t';
            if(a%6==0)
                cout<<endl;
    }
    for(int b=1;b<=31;b++)
    {
        cout<<b<<'\t'<<'\t';
        if(b%7==0)
            cout<<endl;
    }
    cout<<"欢迎使用本日历"<<endl;
    return 0;
}
4 回复
#2
yuccn2012-12-14 13:49
这样当然是不行的,枚举也就是把里面的内容变成索引而已
#3
crystall2012-12-14 14:52
回复 楼主 张海锋
可以定义成这样:
程序代码:

枚举类型
enum weekend
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
};


/*
for(int b=1; b <= 31;b++)
    {
        cout << b << '\t';
        if(b%7==0)
            cout<< endl;
    }
*/

这段代码,你不能把每个月都定为31天。还要判断是否闰年。
#4
张海锋2012-12-18 19:50
回复 2楼 yuccn
新手不好意思哈能不能明白点啊谢谢啊
#5
pangding2012-12-19 09:54
以下是引用张海锋在2012-12-18 19:50:59的发言:

新手不好意思哈能不能明白点啊谢谢啊

就是说:
程序代码:
enum weekend
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
};
有点类似于:
#define Sunday 0
#define Monday 1
... ...
#define Saturday 6

虽然从语言上进枚举属于整型变量,但枚举一般只用于比较,不用于运算。
和单纯的用宏来实现相比,枚举也有一些优势。一是用枚举可以在编译时增加类型检查,减少犯错误的机会;二是修改定义的时候方便。
枚举类型一般只在一些比较特定的场合使用,而且也是可用可不用。在 c++ 编程里(除非有个人爱好),一般推荐使用常对象的方法实现。
1