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 你也可以使用 Money += 10 和 btw 而不是 char f; 辛 >> f; .. cout << endl; 系统(“暂停”);看起来更好

于 2012-06-10T10:16:19.350 回答