C++ 从小写到大写报价控制台应用程序
我有一个接收输入的控制台应用程序。用户输入一个文本,例如“最好是“”而不是“”C++ 从小写到大写报价控制台应用程序,c++,char,C++,Char,我有一个接收输入的控制台应用程序。用户输入一个文本,例如“最好是“”而不是“” 我做了下面的脚本,但C++ C++新手并不太有效,我得到以下输出:“最好是A” 注意:程序可以有多个“引号”。 这是我的想法: #include <iostream> #include <cstring> using namespace std; char a[]="It's better to be a <good man> rather than a <succ
我做了下面的脚本,但C++ C++新手并不太有效,我得到以下输出:“最好是A” 注意:程序可以有多个“引号”。 这是我的想法:
#include <iostream>
#include <cstring>
using namespace std;
char a[]="It's better to be a <good man> rather than a <succesful man>",*p;
int x,y,bec1,bec2;
int main()
{
for(int i=0;i<strlen(a);i++){
if(a[i]=='<'){
x=i;
bec1=1;
}
if(a[i]=='>'){
y=i;
bec2=1;
}
if(bec1==1 && bec2==1)
for(int j=x+1;j<y;j++){
if(a[j]!=' ')
a[j]-=32;
if(j==y){
bec1=0;
bec2=0;
}
}
}
cout<<a;
return 0;
}
#包括
#包括
使用名称空间std;
char a[]=“最好是a而不是a”,*p;
int x,y,bec1,bec2;
int main()
{
对于(int i=0;iI)建议您使用std::to_upper
和帮助函数族,而不是手动添加或减去并进行ASCII值转换。这也使代码更具可读性。不要使用strlen()在一个循环中,它会使代码显著地降低较大的字符串大小。如果你正在学习C++,请使用<代码> STD::String 。将你的<代码> BEC1和 BEC2 >到0外循环。NULL初始化指针。如果可能的话,将变量保持在有限的范围内,而不是全局的。养成使用更好的VA的习惯。变量名称多于一个或两个字符的音节。如果(j==y){
条件永远不可能为真-此语句位于循环内,仅当从一些奇数角条件开始运行2状态机时才会运行:状态1查找“”(并返回状态1)谢谢你,伊戈尔。没有看到。它解决了问题;谢谢你指出这一点