私のコードで何が間違っているのか分かりませんが、もう一度繰り返しています。whileループはもう一度繰り返されます
do {
scanf("%c", &operacao);
//Tratamento de erro (Validando a informacão vinda do usuário
if ((operacao != '*') && (operacao != '+') && (operacao != '-')) {
printf("---------------------------------------\n");
printf("***** MENSAGEM DE ERRO *****\n");
printf("---------------------------------------\n");
printf("Você digitou um valor inválido!\n");
printf("Por favor, digite + para soma, - para subtração * para multiplicar ou/para dividir!\n");
}
} while ((operacao != '*') && (operacao != '+') && (operacao != '-'));
デバッガを使用してコードをステップ実行する方法を学ぶ必要があるようです。良いデバッガを使用すると、プログラムを1行ずつ実行し、どこからずれているかを確認することができます。これはプログラミングをする場合に不可欠なツールです。詳しい読書:[小さなプログラムをデバッグする方法](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/) – NathanOliver
1.それを読んだ後にオペラカオを印刷してください。 2.オペラカオはどんなタイプですか?値を印刷するとループ中に理解するのに役立ちます。 –
C++とタグ付けされているので、 'scanf'ではなく' cin >> c'を考慮する必要があります。 –