2010-06-28 32 views
0

試圖編碼一個猜測gumballs jar中有多少個gumballs,有點兒東西。有兩個問題,我不斷收到:罐子裏有多少個口香糖球。 2錯誤

  1. 它應該說,如果猜測是高或低,但只有當我在1000進入了一些情況,它說:

輸入你的猜測:1001
太高!

太低!

輸入你的猜測:

  • 如果你鍵入一個字母或短語它進入瘋狂說:
  • 輸入你的猜測:
    太高!

    太低!

    但它口口聲聲說,大約幾百甚至上千倍一分鐘-.-

    #include<iostream> 
    #include<ctime> 
    using namespace std; 
    
    int main(void) 
    { 
        int iGumballs; 
        int iUserguess; 
        int iGuesses = 0; 
    
        while(true) 
        { 
          system("CLS"); 
          cin.clear(); 
          iGuesses = 0; 
    
        srand(static_cast<unsigned int>(time(0))); 
        iGumballs = rand()%1000+1; 
        cout << "How many gumballs are in the gumball jar, you guess!" << endl; 
        do 
        { 
         cout << "Enter your guess: "; 
        cin>> iUserguess; 
        if(iUserguess > iGumballs) 
        { 
            cout << "Too High!" << endl << endl; 
        } 
        if(iUserguess > iGumballs) 
        { 
            cout << "Too Low!" << endl << endl; 
        } 
        iGuesses ++; 
    }while(iUserguess > iGumballs || iUserguess < iGumballs); 
    cout << "You guessed the right amount of gumballs! High Five!" << endl << endl; 
    cout << "You took" << iGuesses << " guesses" << endl << endl; 
    system("PAUSE"); 
    } 
    return 0; 
    } 
    
    +2

    當提出有關源代碼的問題時,應該將其保存在此處,以便人們可以看到它,而不是跳過它。尤其是當沒有保證你的外部鏈接將在3年內上漲時。我的格式化道歉 – Stephen 2010-06-28 23:10:17

    +0

    乍一看,這看起來像是一個家庭作業問題。雖然在本網站上尋求幫助是沒有問題的,但請務必將問題標記爲[作業]。 – pkaeding 2010-06-28 23:19:01

    +0

    實際上它不是家庭作業......這是一個教程,因爲我試圖學習C++來幫助一些名爲OpenLieroX的遊戲的人,這是一個非常有趣的遊戲,但對開發人員來說很短暫,因爲我曾經做過一些編碼在QBasic中最後編碼,我對它很有興趣,我想學習一些沒有過時的東西。 – xCra2yx 2010-06-28 23:48:14

    回答

    3

    讓我暗示一個問題。讓我們來看看這兩個檢查您已經打印消息「過高」和「太低」:

    if(iUserguess > iGumballs) 
        if(iUserguess > iGumballs) 
    

    發現任何錯誤,當我把它們放在一起?

    +0

    好的,謝謝。現在解決了這個問題:) – xCra2yx 2010-06-28 23:37:17

    1

    你爲什麼不發佈您遇到麻煩的代碼部分,而不是隻給我們一堆東西,並要求我們弄清楚它?

    你的問題的說明僅僅根據,我會建議你:

    1. 添加輸入驗證(這將解決你的第二個問題)
    2. 再來看看了,檢查的數量是否是代碼太高/太低
    3. 如果您仍然無法弄清楚,請發佈代碼中給您帶來麻煩的部分,並解釋您嘗試過的以及出錯的地方。
    +0

    嗯,我不能真正發佈第二個問題的代碼部分,因爲我不知道是什麼導致了這個問題。正如你可以告訴我的程序類型,我對C++來說很新,你能解釋一下輸入驗證是如何工作的嗎? – xCra2yx 2010-06-28 23:42:10