2

ランダム機能の使い方を学び終えたばかりなので、小さなカジノゲームを作ることにしました。double Money;ただし、私のコードは変数を更新しません。つまり、この変数に対して値を設定、加算、または減算することはできません。なぜこれが起こっているのかを判断するのに苦労しています。

これが私のコードです:

int main()
{
  double Money;//Variable Money;

  srand ( time(0) );
  int randomNumber;
  randomNumber = (1+(rand() % 10));
  cout << "\nEnter your Starting Money: ";
  int Guess;
  cin >> Money;
  cout << "Your Starting money is: " << Money;
  cout << "\nGuess the number between 1 and 10: ";
  start:
  cin >> Guess;
  if(Guess == randomNumber)
  {
    Money + 10;
    cout << "You were correct! The number was " << randomNumber << "!";
  }
  else
  {
    Money - 10;//Nothing Happens
    cout << "You were wrong! Your money is now: " << Money << "\nRetry Please: ";
    goto start;
  }
  char f;
  cin >> f;
  return 0;
}
4

4 に答える 4

6
Money + 10;

副作用のないステートメントです。あなたがしたい

Money += 10;

これはと同等です

Money = Money + 10;

あなたが書いた場合、それについて考えてください

4 + 5; 

4になると思います9か?...

于 2012-06-10T09:37:17.647 に答える
1

money - 10;は有効な C および C++ 式であり、(概念的に) その値を計算し、結果を破棄します。これは とほとんど同じ42;です。

代わりにmoney = money - 10;またはを使用してください。money -= 10;追加についても同様です。

于 2012-06-10T09:38:59.453 に答える
1

新しい値をに割り当てる必要がありますMoney

Money = Money + 10または、前述のように、Money += 10

于 2012-06-10T09:39:33.600 に答える
0

値を変更したい場合、Money + 10 は値を変更しません。Money = Money + 10 を使用します。char f の代わりに Money += 10 を使用することもできます。シン >> f; .. cout << endl; システム(「一時停止」); 見た目が良くなる

于 2012-06-10T10:16:19.350 に答える