-4

何か助けはありますか?2つの数字を入力すると、答えが初期化されていないと表示されます...?

#include <iostream>
using namespace std;
int main()
{
  int num;
  int num2;
  int working;
  int answer;
  int uChoice;
  int work( int one, int two, int todo );
  cout << "Welcome to my Basic Mini-Calculator!" << endl;
  do
    {
      cout << endl << "What do you want to do?" << endl;
      cout << "1) Add" << endl;
      cout << "2) Subtract" << endl;
      cout << "3) Multiply" << endl;
      cout << "4) Divide" << endl;
      cout << endl << "Waiting for input... (enter a number): ";
      cin >> uChoice;
      cout << endl;

    } while( uChoice != 1 && uChoice != 2 && uChoice != 3 && uChoice != 4 );

  switch ( uChoice )
    {
    case 1:
      cout << endl << "You chose addition." << endl;
      cout << "Enter a number: ";
      cin >> num;
      cout << "Enter another number: ";
      cin >> num2;
      working = num + num2;
      cout << "Your answer is: " << answer;
      break;

    case 2:
      cout << endl << "You chose subtraction." << endl;
      cout << "Enter a number: ";
      cin >> num;
      cout << "Enter another number: ";
      cin >> num2;
      working = num - num2;
      cout << "Your answer is: " << answer;
      break;

    case 3:
      cout << endl << "You chose multiplication." << endl;
      cout << "Enter a number: ";
      cin >> num;
      cout << "Enter another number: ";
      cin >> num2;
      working = num * num2;
      cout << "Your answer is: " << answer;
      break;

    case 4:
      cout << endl << "You chose division." << endl;
      cout << "Enter a number: ";
      cin >> num;
      cout << "Enter another number: ";
      cin >> num2;
      working = num / num2;
      cout << "Your answer is: " << answer;
      break;
      return 0;
    }
}
4

2 に答える 2

3

まさにそれです。あなたは答えを宣言します:

int answer;

次に、初期化したり値を割り当てたりせずに何度も使用します。

cout << "Your answer is: " << answer;
于 2013-02-10T23:46:43.197 に答える
0

answer警告状態のように、値を割り当てずに使用します:-)

ステートメントセクションが次のようになる可能性があります。

working = num + num2;
cout << "Your answer is: " << answer;

実際に持っている必要があります:

answer = num + num2;

代わりは。

workingその場合、おそらく完全に取り除くことができます。

于 2013-02-10T23:48:29.377 に答える