Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.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/2/visual-studio-2010/4.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++ 在if/else方面有问题_C++_C_Visual Studio - Fatal编程技术网

C++ 在if/else方面有问题

C++ 在if/else方面有问题,c++,c,visual-studio,C++,C,Visual Studio,我的部分代码有问题。如果我选择选项A,它会运行并给出正确的答案,但是,如果我选择选项S或M,它什么也不会给我,只会到达它应该去的地方。已经尝试将if更改为else if,但它显示“预期语句” 抱歉,如果有些句子是葡萄牙语,请看下面: if ((opcao2 == 'A') || (opcao2 == 'a')) { if ((LinhaA != LinhaB) && (ColunaA != ColunaB))

我的部分代码有问题。如果我选择选项A,它会运行并给出正确的答案,但是,如果我选择选项S或M,它什么也不会给我,只会到达它应该去的地方。已经尝试将if更改为else if,但它显示“预期语句”

抱歉,如果有些句子是葡萄牙语,请看下面:

if ((opcao2 == 'A') || (opcao2 == 'a'))
                {
                    if ((LinhaA != LinhaB) && (ColunaA != ColunaB))     //confirmar que se pode fazer a subtraçao entre as duas matrizes
                    {
                        printf("\nN%co %c poss%cvel somar as matrizes A + B!\nInsira novos valores\n", 198, 130, 161);
                        fprintf(ficheiro_out, "\n\nNão é possível somar as matrizes A + B!\nInsira novos valores\n");
                    }
                    printf("\n\n\n");
                    fprintf(ficheiro_out, "\n\n\n");

                    if ((LinhaA == LinhaB) && (ColunaA == ColunaB))
                    {
                        printf("\n%c poss%cvel somar as matrizes A + B!\n", 144, 161);
                        fprintf(ficheiro_out, "\nÉ possível somar as matrizes A + B!\n");
                    }
                    printf("\n\n\n");
                    fprintf(ficheiro_out, "\n\n\n");
                }
                break;

             if ((opcao2 == 'S') || (opcao2 == 's'))

                    {

                    if((LinhaA != LinhaB) && (ColunaA != ColunaB))      //confirmar que se pode fazer a subtraçao entre as duas matrizes

                    {
                        printf("\nN%co %c poss%cvel somar as subtrair A - B!\nInsira novos valores\n", 198, 130, 161);
                        fprintf(ficheiro_out, "\n\nNão é possível subtrair as matrizes A - B!\nInsira novos valores\n");
                    }

                    printf("\n\n\n");
                    fprintf(ficheiro_out, "\n\n\n");

                    else if ((LinhaA == LinhaB) && (ColunaA == ColunaB))
                    {
                        printf("\n%c poss%cvel subtrair as matrizes A - B!\n", 144, 161);
                        fprintf(ficheiro_out, "\nÉ possível subtrair as matrizes A - B!\n");
                    }

                    printf("\n\n\n");
                    fprintf(ficheiro_out, "\n\n\n");
                }
                break;

                if ((opcao2 == 'M') || (opcao2 == 'm'))

                {
                    if (ColunaA != LinhaB)      //confirmar que se pode fazer a multiplicação entre as duas matrizes
                    {
                        printf("\nN%co %c poss%cvel multiplicar as matrizes A * B!\nInsira novos valores\n", 198, 130, 161);
                        fprintf(ficheiro_out, "\n\nNão é possível multiplicar as matrizes A * B!\nInsira novos valores\n");
                    }
                    printf("\n\n\n");
                    fprintf(ficheiro_out, "\n\n\n");

                    if (ColunaA == LinhaB);

                    printf("\n%c poss%cvel multiplicar as matrizes A * B!\n", 144, 161);
                    fprintf(ficheiro_out, "\nÉ possível multiplicar as matrizes A * B!\n");

                    fprintf(ficheiro_out, "\n");
                    break;
                }
            }

您的
break
语句显然将程序控制发送到最终的
if
else
块之外


如果需要,请使用
}else{
相反,完全删除
break
语句。

如果
If
语句处于
循环中,并且必须使用
break
,那么您最好将它们包含在大括号中。我认为您将switch语句的语法与else/If语句混淆,使用术语break而不是elseNow would也是学习如何使用逐行调试器的好时机。这一点很明显。这是不久前开始的一门新的编程课,老师想赶这门课,所以他不教这类东西。我想是时候自学了。@LuisCardo:的确是。学习使用调试器很重要比学习编码更重要。