C++でプログラミングするのは初めてのことですが、ちょっとしたことを学んだ後、このコンソール電卓アプリケーションを作ってみました。 yを計算し、3番目のz入力に応じて2つの数を加算、減算、乗算または除算します。私はIDEとしてコードブロックを使用していて、次のようにコードがある:それはエラーなしでコンパイルされていてもC++のコンソール電卓プログラムが正しく動作しない
#include <iostream>
//First input value
int x;
//Second input value;
int y;
//Operator value;
int z;
int main()
{
//Asks user for first number
std::cout << "Input first number" << std::endl;
std::cin >> x;
std::cout << "" << std::endl;
//Asks user for second number
std::cout << "Input second number" << std::endl;
std::cin >> y;
std::cout << "" << std::endl;
//Asks user for operation
std::cout << "Input operation: 1 for add, 2 for sub, 3 for multiply, 4 for divide" << std::endl;
std::cin >> z;
//Displaying the desired output
if (z = 1)
{
std::cout << x + y << std::endl;
}
else if (z = 2)
{
std::cout << x - y << std::endl;
}
else if (z = 3)
{
std::cout << x * y << std::endl;
}
else (z = 4);
{
std::cout << x/y << std::endl;
}
//Just a stupid comment
std::cout << "Thank you for using this piece of shit xD. Press any key to end" << std::endl;
return 0;
}
を、すべての操作入力は、所望の動作ではなく、一緒に数字を追加しているようです。誰かが私がここで間違っていることを教えてもらえますか?
'if(z = 1)' - その行とそれに類似したものは何か間違っていますか? C++での等価性の比較はどのように行われますか? – PaulMcKenzie
'-Wall -pedantic -Werror'をコンパイルフラグに追加します。 –
あなたのチェック条件が間違っています。これは代入演算になり、 'z'には値1が代入されます。変数値をチェックする正しい方法は、' == 'を使うことです。たとえば' if(z == 1) ' –