遇到if / else有问题

时间:2018-06-14 09:29:39

标签: c++ c visual-studio

我的部分代码遇到了问题。如果我选择选项A它会运行并给我正确的答案,但是,如果我选择选项S或M它它什么都没给我,只能去它应该去的地方。已经尝试过更改if的其他if 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;
                }
            }

1 个答案:

答案 0 :(得分:1)

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

改为使用} else if {并完全删除break语句。