简单的C++代码,这给我一个错误的循环计数。需要帮助来纠正它
问题出在第三行的循环中。我尝试过尝试++和++尝试,但是,当我执行程序时,它返回为尝试01。我需要帮助才能获得正确数量的循环计数。简单的C++代码,这给我一个错误的循环计数。需要帮助来纠正它
// Guess My Number
// The classic number guessing game
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand(static_cast<unsigned int>(time(0))); //seed random number generator
int secretNumber = rand() % 100 + 1; // random number between 1 and 100
int tries = 0;
int guess;
cout << "\tWelcome to Guess My Number\n\n";
do
{
cout << "Enter a guess: ";
cin >> guess;
++tries;
if (guess > secretNumber)
{
cout << "Too high!\n\n";
}
else if (guess < secretNumber)
{
cout << "Too low!\n\n";
}
else
{
cout << "\nThat's it! You got it in " << tries << " guesses!\n";
}
} while (guess != secretNumber);
return 0;
}
您的问题是在这条线:
tries += tries;
这只是一遍又一遍增加0
本身。
我认为你正在尝试做tries++;
编辑:你的编辑表明您已经尝试tries++
和++tries
,但仍然有问题。其中任何一个都可以工作,所以你还有其他问题。很有可能,你没有成功重新编译。确保你已经重新编译了修改后的代码!
即使OP只编辑了代码,也可以加一个。 – 2014-12-13 06:14:48
我试过了,但是它始终返回01,无论它运行的循环数是多少。 – 2014-12-13 06:18:18
@DilshanDeZoysa别的事情正在发生。请确保您在重新测试之前重新编译过。 – 2014-12-13 06:19:56
但是您在代码段 – timrau 2014-12-13 06:10:47
中写了'tries + = tries;'是的。但是,结果仍然是一样的。每次运行时,循环运行50次都无关紧要,尝试值返回为01。 – 2014-12-13 06:13:01
适用于我(使用++试试编辑)。您确定您在更改后成功地重新编译了吗? – 2014-12-13 06:16:08