2015-09-18 63 views
3

我在做基本控制檯C++「你想重新運行程序嗎?」舞蹈,
和失敗。這是我使用如何(不)重新運行C++代碼?

int main() 
{ 
    char repeat = 'y';   
    while (rep == 'y' || 'Y') 
    { 

    { 
    //primary code is here 
    } 

    cout << "\n\tRerun program? y/n"; 
    cin >> repeat; 
    if (rep == 'n' || 'N') 
    {cout << "\n\tExiting program\n";} 
    } 

return 0; 
} 

什麼時,我的程序完成後,將重新啓動並輸出「退出計劃」
不管我在輸入「重新計劃?」我明白這有
事做沖洗或重置字符「重複」?
不知道該怎麼做,谷歌沒有幫助。

我可以根據要求提交主程序代碼,但是我懷疑它有與此錯誤有關的任何事情

+2

'while(rep =='y'|| rep =='Y')'和'if(rep =='n'|| rep =='N') '是你想要的。 – user657267

+0

或者,打印「退出」後使用「break」命令。 – VoidStar

+1

哇,我需要睡覺。謝謝!發佈它作爲答案,我會批准。 – Manumit

回答

3

if (rep == 'n' || 'N')將永遠如此, 因爲它實際上做if((rep =='n') or 'N')'N'有這意味着if語句是做非零值:if((rep =='n') or true)),所以你總是有「退出計劃」字樣。

您應if (rep == 'n' || rep =='N')

和相同的,你的while語句應該是同時(rep == 'y' || rep == 'Y')

OR

cout << "\n\tExiting program\n"; 

出while循環無條件地得到它僅在完成循環時印刷