2014-12-13 29 views
-1

问题出在第三行的循环中。我尝试过尝试++和++尝试,但是,当我执行程序时,它返回为尝试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; 
} 
+6

但是您在代码段 – timrau 2014-12-13 06:10:47

+0

中写了'tries + = tries;'是的。但是,结果仍然是一样的。每次运行时,循环运行50次都无关紧要,尝试值返回为01。 – 2014-12-13 06:13:01

+1

适用于我(使用++试试编辑)。您确定您在更改后成功地重新编译了吗? – 2014-12-13 06:16:08

回答

3

您的问题是在这条线:

tries += tries; 

这只是一遍又一遍增加0本身。

我认为你正在尝试做tries++;

编辑:你的编辑表明您已经尝试tries++++tries,但仍然有问题。其中任何一个都可以工作,所以你还有其他问题。很有可能,你没有成功重新编译。确保你已经重新编译了修改后的代码!

+0

即使OP只编辑了代码,也可以加一个。 – 2014-12-13 06:14:48

+0

我试过了,但是它始终返回01,无论它运行的循环数是多少。 – 2014-12-13 06:18:18

+1

@DilshanDeZoysa别的事情正在发生。请确保您在重新测试之前重新编译过。 – 2014-12-13 06:19:56