用户:
struct查看:0 回复:2 评论:0 创建时间:2022-08-27T15:21:25
要想做到大小写可以互换,我们先需要在DEV-C++中输入一下代码,导入头文件,使用命名空间STD:
#include<iostream>
#include<string>//头文件
using namespace std;//命名空间
接下来我们需要定义两个函数,一个是把所有字母全部大写,另一个是把全部字母变成小写:
先定义2个函数框架:
string bl/*big litter*/(string in)
{
return in;
}
string ll/*little litter*/(string in)
{
return in;
}
在这种情况下,这两个函数的返回值只能是你输入的值,接下来关键的部分来了,我们要把大小写互换的话,那么我们就需要用到ASCII,用下标(in[])来提取输入的字符串之中的一个字符。
ASCII码的表格如下:

我们可以看到,一个字母的大写和小写之间,ASCII相差了32,那么接下来就要简单多了:
for(int i=0;i<sizeof(in);i++)
{
in[i]-=32;
}
//这里是大写状态的代码
(菜鸟请看这儿)sizeof(in) 和下图中这块积木是等价的:![]()
但这里还是有一个缺点的,如果你输入了一个特殊的字符,比如$,那么这个时候,这个字符就会变成另一个字符,如果你输入了大写字母,比如A,也会给你跳到另一个符号。
所以为了解决这个棘手的麻烦,我们需要加一个判断:
if(in[i]>=65&&in[i]<=90)
{
in[i]+=32;
}
这样的话就可以只让小写变成大写了,把小写转换成大写的代码整合一下:
string bl(string in)
{
for(int i=0;i<sizeof(in);i++)
{
if(in[i]>=97&&in[i]<=122)
{
in[i]-=32;
}
}
return in;
}
大写转换成小写代码也一样:
string ll(string in)
{
for(int i=0;i<sizeof(in);i++)
{
if(in[i]>=65&&in[i]<=90)
{
in[i]+=32;
}
}
return in;
}
最后,还需要测试一下这玩意灵不灵^_^:
int main()
{
cout<<bl("amazing!")<<endl;
cout<<ll("AMAZING!")<<endl;
return 0;
}
事实证明,花了一个小时研究出来的东西还是管用的:
运行结果如下↓

好了,成功了,你学废了吗?
哦,对了,最后的代码还有全部整合:
#include<iostream>
#include<string>
using namespace std;
namespace std
{
string bl(string in)
{
for(int i=0;i<sizeof(in);i++)
{
if(in[i]>=97&&in[i]<=122)
{
in[i]-=32;
}
}
return in;
}
string ll(string in)
{
for(int i=0;i<sizeof(in);i++)
{
if(in[i]>=65&&in[i]<=90)
{
in[i]+=32;
}
}
return in;
}
}
int main()
{
cout<<bl("amazing!")<<endl;
cout<<ll("AMAZING!")<<endl;
return 0;
}

VDU代码师的教程就到这里啦~喜欢的话务必评论~支持一下~
(下期正式开始进行讲解,这期只是摸鱼)

不知道该叫啥的一只萌新首先 楼主的代码稍微有一点问题
namespace std
{
string bl(string in)
{
for(int i=0;i<in.size();i++)
{
if(in[i]>=97&&in[i]<=122)
{
in[i]-=32;
}
}
return in;
}
string ll(string in)
{
for(int i=0;i<in.size();i++)
{
if(in[i]>=65&&in[i]<=90)
{
in[i]+=32;
}
}
return in;
}
}
同时 不建议想楼主一样把函数直接写到std里()
点赞0
评论
𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙
𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳
𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍
𝑎𝑏𝑐𝑑𝑒𝑓𝑔𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧
𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯𝑰𝑱𝑲𝑳𝑴𝑵𝑶𝑷𝑸𝑹𝑺𝑻𝑼𝑽𝑾𝑿𝒀𝒁
𝒂𝒃𝒄𝒅𝒆𝒇𝒈𝒉𝒊𝒋𝒌𝒍𝒎𝒏𝒐𝒑𝒒𝒓𝒔𝒕𝒖𝒗𝒘𝒙𝒚𝒛
𝒜𝒞𝒟𝒢𝒥𝒦𝒩𝒪𝒫𝒬𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵
𝒶𝒷𝒸𝒹𝒻𝒽𝒾𝒿𝓀𝓁𝓂𝓃𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏
𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩
𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃
𝔄𝔅𝔇𝔈𝔉𝔊𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔𝔖𝔗𝔘𝔙𝔚𝔛𝔜
𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷
𝔸𝔹𝔻𝔼𝔽𝔾𝕀𝕁𝕂𝕃𝕄𝕆𝕊𝕋𝕌𝕍𝕎𝕏𝕐
𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫
𝕬𝕭𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕹𝕺𝕻𝕼𝕽𝕾𝕿𝖀𝖁𝖂𝖃𝖄𝖅
𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟
𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹
𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓
𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭
𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇
𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡
𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻
𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕
𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯
𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉
𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣𝚤𝚥这些Unicode里的也可以吗![]()
点赞0
评论