鱼C论坛

 找回密码
 立即注册
查看: 2339|回复: 3

请教个关于枚举的问题。

[复制链接]
发表于 2014-3-25 21:56:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

char * getGender(int);

typedef struct {
        int year;
        int month;
        int day;
} date;
        
typedef enum {male, female} gender;
        
typedef struct {
        char *name;
        gender sex;
        int age;
        date birthday;
} student [];
        
int main(int argc, char *argv[]) {

        student s = {
                {"张三", male, 29, {1984, 1, 26}},
                {"李四", male, 26, {1986, 4, 5}},
                {"王五", male, 35, {1973, 8, 5}},
                {"如花", female, 30, {1982, 5, 30}} 
        };
        
        int length = sizeof(s) / sizeof(s[0]);
        
        puts("database is:");
        for( int i = 0; i < length; i++ ) {
                printf("姓名:%s\t性别:%s\t年龄:%d\t生日:%d-%d-%d\n", s[i].name, getGender(s[i].sex), s[i].age, s[i].birthday.year, s[i].birthday.month, s[i].birthday.day);
        }
        return 0;
}

char * getGender(int sex) {
        switch(sex) {
                case 0:
                        return "男"; break;
                case 1:
                        return "女"; break;
                default:
                         return "人妖";
        }
}
请问枚举值只能是int的,我要保存其它数据就保存不了了,这里的性别我用了枚举,还得写个还原数据的函数来处理,有没有其它更方便的办法呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-26 00:13:14 | 显示全部楼层
期待大侠们的指导
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-27 09:26:35 | 显示全部楼层
没人回答哦。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-10 21:20:58 | 显示全部楼层
[哈哈] 哈哈,你也是程序猿!!!加个微信呐,我个人微信号armycome [xkl眨眼]


                               
登录/注册后可看大图
来自 DanJar 的新浪微博
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 13:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表