2014-10-20 91 views
1
int guess_number = (gen() % 1000); 
cout << guess_number; 

int number = 0; 
cout << "Number:"; 
cin >> number; 

do 
{ 
    if (number>guess_number) 
    { 
     cout << "Too High"<<"\n"; 
     cin >> number; 
    } 
    else if (number<guess_number) 
    { 
     cout << "Too Low"<< "\n"; 
     cin >> number; 
    } 
} while (number != guess_number); 
    int again=0; 
    cout << "Wanna Play Again!"; 
    cin >> again; 

我正在做一個猜謎遊戲,但是如果玩家在「想再玩一次!」之後回答1則必須循環遊戲。我正在處理if,for,do,switch和while語句。它是我給的任務,我似乎無法弄清楚如何循環entier語句。我做了幾次嘗試,但要麼退出該程序,要麼繼續打印「想再玩一次!」。循環語句完成後如何循環?

+0

嘗試兩個循環。 'while(playing){do {ask_number} while(bad_number); play_again}' – 2014-10-20 01:58:51

+0

您可以將該循環放入函數中並調用該函數。 – KRUKUSA 2014-10-20 02:00:12

+0

如果我把它放在函數中,即使它是一個相當快速和無痛的想法,我的教師會停靠我。至於這兩個循環,我試圖發現它一遍又一遍地重複「想再玩一遍」。 – 2014-10-20 05:08:01

回答

1

如何將現有的do/while與另一個包裝在一起以再次播放?

int again =0; 
do{ 
    do{ 
    //existing code 
    } //end inner while 
    cout << "Wanna Play Again?"; 
    cin >> again; 
} while(again != 0); //or whatever makes sense for the condition 
+0

不幸的是它失敗了。這是一個很好的嘗試,雖然發生的問題是它不斷重複打印的消息「想再玩一次」。我之前嘗試過使用do和if語句來做類似的事情,但沒有找到解決方案。 – 2014-10-20 05:09:07

+0

我只是想通了。因此,看起來好像我在我的代碼之前將do {聲明放在我的數字隨機生成器命令之前,它完美地工作。感謝大家的幫助! – 2014-10-20 05:15:53