社区
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 )
将枚举值输出到屏幕,设计一个主程序测试这两个函数。
...全文
45
6
打赏
收藏
enum这类问题怎么编写。
设有如下枚举类型:enum DaysOfWeek{ sun, mon, tues, wed, thurs, fri, sat } ; 编写函数 void GetDay( DaysOfWeek &day ) ; 以字符串方式从键盘读入某天的名称并将相应的枚举值赋给这一天,再编写函数 void PutDay( DaysOfWeek day ) 将枚举值输出到屏幕,设计一个主程序测试这两个函数。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
enum
关键字_
Enum
类和
enum
关键字的区别
博客主要介绍Java中
Enum
类和
enum
关键字的区别,通过
编写
enum
类示例展示。还提到使用javap命令查看相关信息时遇到的
问题
,需先将.java文件编译成.class文件,再使用javap命令才能正常操作。
Super
Enum
项目常见
问题
解决方案
Super
Enum
是为 Dart 语言提供类似 Kotlin 中 sealed classes 功能的开源项目,主要用 Dart
编写
。本文针对新手常见
问题
给出解决步骤,包括如何引入到项目、定义带数据的 Super
Enum
以及在代码中使用它,帮助新手更好运用该项目。
Doctrine
Enum
Type 项目常见
问题
解决方案
Doctrine
Enum
Type是开源项目,用PHP
编写
,依赖Doctrine ORM框架和MyCLabs的
Enum
库。本文针对新手常见
问题
给出解决步骤,如用Composer安装、定义枚举类、解决‘Column type \'
enum
\' is not supported by doctrine’错误等,助开发者顺利使用该项目。
Laravel
Enum
项目常见
问题
解决方案
本文围绕 Laravel
Enum
项目展开,它是为 Laravel 框架提供增强枚举类型支持的开源项目,主要用 PHP
编写
。针对新手常见
问题
,给出解决步骤,包括如何安装 Laravel
Enum
、生成枚举类以及在代码中使用枚举类,帮助开发者更好地使用该项目。
关于
Enum
局域网中的机器
博主考完试后着手
编写
局域网聊天工具,其中用到
Enum
局域网机器的程序。该程序在Win2K运行正常,但在WinXP无法运行。经跟踪发现,WinXP下
Enum
流程不同导致调用失败。最终通过将关键语句移到循环内解决
问题
,使程序在XP和2K都能正常运行。
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章