社区
C语言
帖子详情
enum这类问题怎么编写。
xiaoke0753
2003-03-21 04:53:29
设有如下枚举类型:enum DaysOfWeek{ sun, mon, tues, wed, thurs, fri, sat } ;
编写函数
void GetDay( DaysOfWeek &day ) ;
以字符串方式从键盘读入某天的名称并将相应的枚举值赋给这一天,再编写函数
void PutDay( DaysOfWeek day )
将枚举值输出到屏幕,设计一个主程序测试这两个函数。
...全文
24
6
打赏
收藏
enum这类问题怎么编写。
设有如下枚举类型:enum DaysOfWeek{ sun, mon, tues, wed, thurs, fri, sat } ; 编写函数 void GetDay( DaysOfWeek &day ) ; 以字符串方式从键盘读入某天的名称并将相应的枚举值赋给这一天,再编写函数 void PutDay( DaysOfWeek day ) 将枚举值输出到屏幕,设计一个主程序测试这两个函数。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mr_oydy
2003-03-22
打赏
举报
回复
#include <string>
#include <iostream>
using namespace std;
#define FILL_IN(n) {#n,n}
enum DaysOfWeek{ sun, mon, tues, wed, thurs, fri, sat, none};
struct elem{
char str[6];
DaysOfWeek DOfW;
bool operator==(DaysOfWeek& rhs){
return DOfW==rhs;
}
bool operator==(const char* rhs){
return !strcmp(str, rhs);
}
};
class change{
elem e_;
public:
template<class T>
change(T day){
elem e[7] = {FILL_IN(sun),
FILL_IN(mon),
FILL_IN(tues),
FILL_IN(wed),
FILL_IN(thurs),
FILL_IN(fri),
FILL_IN(sat)};
for(int i=0; i<7; i++){
if(e[i]==day){
e_ = e[i];
break;
}else{
strcpy(e_.str,"none");
e_.DOfW = none;
}
}
}
operator const char*(){return e_.str;}
operator DaysOfWeek(){return e_.DOfW;}
};
void main(){
DaysOfWeek d = change("fri");
string str = change(sat);
cout << d << endl << str << endl;
}
jamesfangjing
2003-03-22
打赏
举报
回复
我记得c++中,枚举类型会自动赋值,每个元素会被赋给一个int型的值,具体是从0开始还是1开始,我就记不清楚了!!!
这样一来,是不是就可以避免比较字符串呢?
guoxiny
2003-03-22
打赏
举报
回复
对switch不能这样用。switch(param)要是数值型;在C语言中看到的这种用法:
switch(ch)
{
case 'a':....break;
}
在C中a的acsii码是数值的,大家不要被此迷惑了。
枚举的话,则可以这样
DaysOfWeek dw;
switch(dw)
{
case sun:...;break;
}
因为枚举值是数值类型的。
yzb1000
2003-03-22
打赏
举报
回复
学习
dsangvei
2003-03-21
打赏
举报
回复
在C/C++中string还不能直接switch...case...
你要用strcmp来比较输入的是否与你设定的一样。当然,还要注意大小写。
bugfree
2003-03-21
打赏
举报
回复
string readday;
cin>>readday;
switch(readday)
{
case "sun":
GetDay(0);
.....
}
Java API文档 中文网页版
1. `java.lang`:这是所有Java程序的基础包,包含了基本类型包装类、Object类、String类、Math类等核心类。 2. `java.util`:包含各种实用工具类,如集合框架(List、Set、Map)、日期时间类、队列、堆栈、枚举等。...
Enum
(枚举类)
一、什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便?二、为什么不用静态常量来替代枚举类呢? public static final int SEASON_SPRING = 1; public static ...
枚举类(
enum
)的
编写
。仅记录
目前用到过的,关于枚举类的
编写
。有两种。见链接的第一种和第三种。 参考链接:Java 枚举(
enum
) 详解7种常见的用法
Java-
Enum
枚举类
Java-
Enum
枚举类 文章目录Java-
Enum
枚举类前言一、枚举的实现原理二、使用反射查看枚举类枚举的高级使用 前言 介绍
enum
的全称为
enum
eration, 是 JDK 1.5...而java.lang.
Enum
类实现了java.lang.Serializable和java
Java基础14(
Enum
枚举类 BigInteger类BigDecimal类 内部类)
为了让编译器能自动检查某个值在枚举的集合内,并且,不同用途的枚举需要不同的类型来标记,不能混用,我们可以使用
enum
来定义枚举类枚举和int定义的常量相比,使用
enum
定义枚举有如下好处:●
enum
常量本身带有类型...
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章