c++ 枚举与字符串 比较
读取字符串,然后将这个字符转换为对应的枚举。
如:从屏幕上输入'a',则转换为set枚举中对应的a,源代码如下:
//关键函数为char2enum(str,temp); #include
using namespace std;
enum set {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z};
void char2enum(char ch , set &em)
{
// 实现字符转枚举,其中参数em为set的引用类型,来把ch转换的结果传出
char start = 'a';
em = (set)((int)ch - (int)start);
}
void main()
{ <pre name="code" class="cpp"> char str;
set temp;
cout >str; // 获取从屏幕中输入的字符
char2enum(str, temp); // 将字符str转换为枚举temp
switch(temp) // 根据枚举的值,进行输出 ,,关键语句!!!
{
case a:
cout<<'a'<<endl;break;
case b:
cout<<'b'<<endl;break;
case c:
cout<<'c'<<endl;break;
case d:
cout<<'d'<<endl;break;
case e:
cout<<'e'<<endl;break;
case f:
cout<<'f'<<endl;break;
// case g:...
// case h:...
}
}
测试结果:
please input a char:
a 回车
a // 为输出内容
c++ 枚举与字符串 比较的更多相关文章
- C# 枚举、字符串、值的相互转换
using System; class Program{ public enum Color { Red = 0xff0000 , Orange = ...
- C# 枚举转字符串
有时候需要把枚举转字符串,那么如何把枚举转字符串? 枚举转字符串 假如需要把枚举转字符串,可以直接把他进行转换,请看代码 public enum Di { /// <summary> // ...
- GetEnumName 枚举名称 字符串
System.TypInfo.pas System.TypInfo.hpp http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.TypIn ...
- 2018-2-13-C#-枚举转字符串
title author date CreateTime categories C# 枚举转字符串 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:23:3 ...
- 转-C#让枚举返回字符串
下面的手段是使用给枚举项打标签的方式,来返回字符串 下面分别定义一个属性类,和一个枚举帮助类 [AttributeUsage(AttributeTargets.Field,AllowMultiple ...
- C# 让枚举返回字符串
下面的手段是使用给枚举项打标签的方式,来返回字符串 分别定义一个属性类,一个枚举帮助类 /// <summary> /// 自定义属性 /// </summary> [Attr ...
- 【C#】枚举和字符串以及数字之间的互相转换
准备条件: ①枚举类型: public enum enumColor { Red = , Yellow, Green, Blue, White, Black } ②以下状态都是理想状态,并未对错误数据 ...
- oc中枚举映射字符串技巧
后台返枚举数据给app,app需要对不同枚举转换成字符串显示. 一般想到方法用 switch 根据不同枚举变量返回不同字符串,结果就是判断代码写得很长,不优雅.更简便方式有如下: typedef NS ...
- Unity枚举和字符串的相互转换
直接上代码,见下图: public enum enumEx { A, B, C, D, } public class enumTest : MonoBehaviour { void Start () ...
随机推荐
- round()和trunc()函数的应用
http://blog.chinaunix.net/uid-7801695-id-68136.html round()和trunc()函数的应用 关键字: round()和trunc()函数的应用 ...
- N天学习一个linux命令之ssh
用途 通过加密连接,远程登录主机和在远程主机执行命令,也可以用于转发x11和tcp,也可用于搭建VPN.第一次连接时,会弹出远程主机公钥指纹确认信息,通过这个方式防止中间人攻击. 用法 ssh [op ...
- AngularJS:让submit重新生效
当我们在html中声明了ng-app后,form的submit就会失效,必须通过angularJS来处理.如果这时还是想用普通的方式提交的话,需要修改form标签,如下所示: <form met ...
- Android之——AsyncTask和Handler对照
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46952835 AsyncTask和Handler对照 1 ) AsyncTask实 ...
- 全部对于Unity3D中 NGUI 触发事件的监听方法
NGUI事件的种类非常多.比方点击.双击.拖动.滑动等等,他们处理事件的原理差点儿万全一样,本文仅仅用button来举例. 方法一.直接监听事件 把以下脚本直接绑定在button上.当button点击 ...
- C语言指针实现字符串的反转
题目要求: 编敲代码:从键盘随意输入一个字符串,输出该字符串. 然后.将该字符串逆序存放后再输出,要求用字符指针完毕. 代码: //解法一 #include <stdio.h> #incl ...
- Oracle学习(12):存储过程,函数和触发器
存储过程和存储函数 l存储在数据库中供全部用户程序调用的子程序叫存储过程.存储函数. 注意:存储过程与存储函数声明变量时,用的是as 而不是declare 存储过程与存储函数差别 存储过程不带有返 ...
- "Hello World " —— 深入理解程序从编译到执行
对于C语言编写的Hello World程序(例如以下).对于程序猿来说肯定如雷贯耳,就是这样一个简单的程序,你真的了解她吗? #include <stdio.h> int main() { ...
- ubuntu下7z文件的解压方法
apt-get install p7zip-full 控制台会打出以下信息: 正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 建议安装的 ...
- C#遍历DataSet与DataSet元素实现代码
C#中的Dataset就像一个数据库,有多个表(Table),一般只有一个表,然后每个表中有行(DataRow)和列(DataColumn),DataRow[DataColumn]可以得到某行某列数据 ...