用宏简化枚举类型的字符串输出
来源:互联网 发布:算法导论 第3版 pdf 编辑:程序博客网 时间:2024/06/07 11:26
/// @file exam_1_8.c/// @brief /**exam_1_8 *定义一个枚举变量,其枚举元素为人民币的面值。要求输出枚举元素字符串。*/#include <windows.h>#include <stdlib.h>#include <stdio.h>#include <crtdbg.h>#include <conio.h>typedef enum e_Face_Value_Of_RMB{ e_Face_Value_Of_RMB_yuan_100 = 0, e_Face_Value_Of_RMB_yuan_50, e_Face_Value_Of_RMB_yuan_20, e_Face_Value_Of_RMB_yuan_10, e_Face_Value_Of_RMB_yuan_5, e_Face_Value_Of_RMB_yuan_2, e_Face_Value_Of_RMB_yuan_1, e_Face_Value_Of_RMB_jiao_5, e_Face_Value_Of_RMB_jiao_2, e_Face_Value_Of_RMB_jiao_1, e_Face_Value_Of_RMB_fen_5, e_Face_Value_Of_RMB_fen_2, e_Face_Value_Of_RMB_fen_1,}E_FACE_VALUE_OF_RMB;#define STR(x) #x#define CASE_RMB_FACE_VALUE(x, y) \ case x: \ { \ strcpy(y, STR(x)); \ } \ breakchar* fnGetString_RmbFaceValue(E_FACE_VALUE_OF_RMB eIn, char* pcMsgBuf);int main(int argc, char *argv[ ], char *envp[ ]){ int eIndex = e_Face_Value_Of_RMB_yuan_100; char cMsgBuf[260] = {'\0'}; for (eIndex = e_Face_Value_Of_RMB_yuan_100; eIndex <= e_Face_Value_Of_RMB_fen_1; eIndex++) { printf("%s\n", fnGetString_RmbFaceValue((E_FACE_VALUE_OF_RMB)eIndex, cMsgBuf)); } /** e_Face_Value_Of_RMB_yuan_100 e_Face_Value_Of_RMB_yuan_50 e_Face_Value_Of_RMB_yuan_20 e_Face_Value_Of_RMB_yuan_10 e_Face_Value_Of_RMB_yuan_5 e_Face_Value_Of_RMB_yuan_2 e_Face_Value_Of_RMB_yuan_1 e_Face_Value_Of_RMB_jiao_5 e_Face_Value_Of_RMB_jiao_2 e_Face_Value_Of_RMB_jiao_1 e_Face_Value_Of_RMB_fen_5 e_Face_Value_Of_RMB_fen_2 e_Face_Value_Of_RMB_fen_1 END, press any key to quit */ printf("END, press any key to quit\n"); getchar(); return 0;}char* fnGetString_RmbFaceValue(E_FACE_VALUE_OF_RMB eIn, char* pcMsgBuf){ _ASSERT(NULL != pcMsgBuf); switch (eIn) { CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_yuan_100, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_yuan_50, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_yuan_20, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_yuan_10, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_yuan_5, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_yuan_2, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_yuan_1, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_jiao_5, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_jiao_2, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_jiao_1, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_fen_5, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_fen_2, pcMsgBuf); CASE_RMB_FACE_VALUE(e_Face_Value_Of_RMB_fen_1, pcMsgBuf); default: _ASSERT(0); } return pcMsgBuf;}
0 0
- 用宏简化枚举类型的字符串输出
- 对C++枚举类型的进一步思考以及简化
- enum枚举类型的输出方式
- delphi 枚举类型与字符串的转换
- 字符串转枚举类型
- 字符串转枚举类型
- 5.0对枚举的简化
- 为枚举类型创建字符串类型的标记值
- enum 枚举类型 选择输出
- C#控制台 输出枚举类型中所有成员的名称
- c的printf怎么输出枚举类型变量
- c#枚举类型的内容全部获取和字符串转换为枚举类型的方法
- 让枚举可以输出字符串
- 字符串转枚举(两个枚举类型)
- 获取枚举类型的名字字符串的方法
- C# 拓展字符串,枚举类型
- c#字符串类型与其它值类型的输出分析
- 在枚举类型的值和字符串之间相互转换
- Git 分支 - 分支的新建与合并
- 强连通分量(模板)
- Android SwipeRefreshLayout:谷歌官方SDK包中的下拉刷新
- shadre - SubShader
- 【IMPDP】实现不同用户之间的数据迁移——REMAP_SCHEMA参数
- 用宏简化枚举类型的字符串输出
- (十三)洞悉linux下的Netfilter&iptables:为防火墙增添功能模块【实战】
- Struts之参数传递
- 1081. Rational Sum (20)
- oracle 11g 数据泵导入导出方法
- 水题列表
- 使用JNotify监控目录下文件变更
- 【JAVA大作业开发记录(五)】
- (十四)洞悉linux下的Netfilter&iptables:开发一个match模块【实战】