2014-12-13 46 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