Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从小写到大写报价控制台应用程序_C++_Char - Fatal编程技术网

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)谢谢你,伊戈尔。没有看到。它解决了问题;谢谢你指出这一点