-1

とても簡単な電卓を作ってみました。これまでのところ、これは私が持っているものですが、本当にあいまいな答えを得ています。同様に、2 と 2 を乗算すると、1550532996 が得られます。

#include <iostream>
using namespace std;

int main()
{
int x;
int b;
int k;
int sum=x+b;
int difference=x-b;
int product=x*b;
int quotient=x/b;
cout<<"Enter a number"<<endl;
cin>>x;
cout<<"Enter another number."<<endl;
cin>>b;
cout<<"What do you want to do with these numbers? Enter 1 for addition, 2 for subtraction, 3 for multiplication, and 4 for division"<<endl;
cin>>k;
    switch (k){

    case 1:
    cout<<sum<<endl;
    break;

    case 2:
    cout<<difference<<endl;
    break;

    case 3:
    cout<<product<<endl;
    break;

    case 4:
    cout<<quotient<<endl;
    break;
    }

}
4

2 に答える 2

1

交換

int x;
int b;
int k;
int sum=x+b;
int difference=x-b;
int product=x*b;
int quotient=x/b;
cout<<"Enter a number"<<endl;
cin>>x;
cout<<"Enter another number."<<endl;
cin>>b;
cout<<"What do you want to do with these numbers? Enter 1 for addition, 2 for subtraction, 3 for multiplication, and 4 for division"<<endl;
cin>>k;

int x;
int b;
int k;
cout<<"Enter a number"<<endl;
cin>>x;
cout<<"Enter another number."<<endl;
cin>>b;
cout<<"What do you want to do with these numbers? Enter 1 for addition, 2 for subtraction, 3 for multiplication, and 4 for division"<<endl;
cin>>k;
int sum=x+b;
int difference=x-b;
int product=x*b;
int quotient=x/b;

int sum=x+b は関数ではなく、(x+b) に設定された単なる変数です。

于 2013-10-27T22:15:54.877 に答える
1

問題は、ユーザーからの入力を読み取る前に計算を行うことです。変数は初期化されていないため、ランダムなものが保持されます (おそらく、以前にメモリ内のその位置にあったもの)。それが間違った結果を得る理由です。

int x;
int b;
int k;
int sum=x+b;
int difference=x-b;
int product=x*b;
int quotient=x/b;
cout<<"Enter a number"<<endl;
cin>>x;
cout<<"Enter another number."<<endl;
cin>>b;
cout<<"What do you want to do with these numbers? Enter 1 for addition, 2 for subtraction, 3 for multiplication, and 4 for division"<<endl;
cin>>k;

次のように変更する必要があります。

int x;
int b;
int k;
cout<<"Enter a number"<<endl;
cin>>x;
cout<<"Enter another number."<<endl;
cin>>b;
int sum=x+b;
int difference=x-b;
int product=x*b;
int quotient=x/b;
cout<<"What do you want to do with these numbers? Enter 1 for addition, 2 for subtraction, 3 for multiplication, and 4 for division"<<endl;
cin>>k;
于 2013-10-27T22:16:25.140 に答える