怎么将字符串与功能宏进行绑定
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本篇内容主要讲解"怎么将字符串与功能宏进行绑定",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么将字符串与功能宏进行绑定"吧!1 代码原理说明利用swit
千家信息网最后更新 2025年01月20日怎么将字符串与功能宏进行绑定
本篇内容主要讲解"怎么将字符串与功能宏进行绑定",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么将字符串与功能宏进行绑定"吧!
1 代码原理说明
利用switch和case的散转功能,宏作为散转条件,每一个宏对应一种功能,将宏和字符串进行绑定,这样通过比较字符串的方式,就能获得对应宏的功能代码。
此代码的好处是宏代码不用变的情况下,字符串和功能宏的对应是可以根据需要进行随意调整的。
代码结构清晰,易于维护。
2 实现源码
1)实现代码
一切说明,尽在注释中啦!代码可以理解为等级评定吧,实际意义不大,大家多关注这个小代码的结构吧!
#include#include // 功能宏散转编号 #define ONE_STAR 1 #define TWO_STAR 2 #define THREE_STAR 3 #define FOUR_STAR 4 #define FIVE_STAR 5 #define ZERO 0 // 无效输入返回值 /* 定义查找对应表结构及查找表数组 */ static struct lookuptable { char *str; // 指向字符串 int code; // 对应宏功能码 }tab[]= { // 字符串口与功能指示红的对应表,可以根据需要随意调整,下面的1-5可以换为任意字符串,只是输入时(查找时)也要一一对应上 {"1", ONE_STAR}, {"2", TWO_STAR}, {"3", THREE_STAR}, {"4", FOUR_STAR}, {"5", FIVE_STAR} }; // 查找函数声明 SearchFunc(char *s); int main(int argc, char *argv[]) { int score = 0; char str[10] = "\0"; printf("Please input number 1-5 to evaluate: "); gets(str); // 根据星级进行处理,这里就是简单的赋值,实际应用中可以根据需要更多 switch(SearchFunc(str)) { case ONE_STAR: { score += 1; break; } case TWO_STAR: { score += 2; break; } case THREE_STAR: { score += 3; break; } case FOUR_STAR: { score += 4; break; } case FIVE_STAR: { score += 5; break; } case ZERO: // 无效的情况,打印无效提升 { printf("\nYour input is invaild!\n"); break; } } // 输入有效才进行星级打印 if(SearchFunc(str)!=ZERO) { printf("\nThe score is: %d\n",score); } return 0; } /* 宏功能查找函数 */ SearchFunc(char *s) { int i; for(i=0; i< sizeof(tab)/sizeof(tab[0]); i++) { if(strcmp(tab[i].str, s)==0) { return tab[i].code; } } return ZERO; // 输入不再范围内标记为0 }
2)运行结果
① 输入值在有效范围1-5时,结果如下:
② 输入值不在有效范围内时,结果如下:
到此,相信大家对"怎么将字符串与功能宏进行绑定"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
功能
字符
字符串
代码
输入
有效
实际
结构
结果
范围
内容
函数
情况
星级
更多
学习
调整
实用
更深
一一对应
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
闵行区项目数据库成本
书店系统 数据库开题表
如何运营一个小游戏服务器
数据库测试发型女圆脸
通信工程和数据库论文题目
oracle数据库远程使用
数据库事物处理的艺术
数据库起始时间怎么查询
腾讯负责网络安全的部门
整数网络技术
数据库连接池 视频
数据库应用技术 詹英
小学生计算机网络安全
阿富汗网络技术视频
公安联考职位与网络安全与执法
数据中心服务器管理口
jsp连接数据库的删除
配送网络技术架构
数据库左连接 右连接例题
卫健系统网络安全培训班主持词
重庆路渝网络技术有限公司
网络安全宣传视频制作方法
金台区网络安全仪式
文安软件开发商
网络安全有什么基金
本地云服务器怎么设置
网络技术做题
360网络安全培训体会
怎样定义数据库的结构
最新金蝶k3数据库类型