我工作的腳本是在很長的網頁,所以我要鏈接它(一個簡單的文件):
http://pastebin.com/7BVHmQGpC++:無限循環用一個簡單的菜單選擇
我爲此道歉。我的問題是我在我的代碼中進入了一個無限循環,例如在我選擇1或2進行加密/解密後讓我輸入單詞,當我下一次輸入密碼「shift」時,它會運行一個無限循環菜單。
我試過這麼多小時來調試這一點,我認爲這是與cin
一個問題,例如,當你輸入一個無效的選擇,它只是拋出一個無限循環/
什麼似乎引起infininte循環?
我工作的腳本是在很長的網頁,所以我要鏈接它(一個簡單的文件):
http://pastebin.com/7BVHmQGpC++:無限循環用一個簡單的菜單選擇
我爲此道歉。我的問題是我在我的代碼中進入了一個無限循環,例如在我選擇1或2進行加密/解密後讓我輸入單詞,當我下一次輸入密碼「shift」時,它會運行一個無限循環菜單。
我試過這麼多小時來調試這一點,我認爲這是與cin
一個問題,例如,當你輸入一個無效的選擇,它只是拋出一個無限循環/
什麼似乎引起infininte循環?
我想你應該忽略換行符,而不是一個空間
我用下面的嘗試和它VS2010工作
cin.ignore(1, '\n');
getline(cin, input);
不幸的是,我試圖在他們之前追加它,並且它再次無限循環。 :(我甚至在所有的`cin`之前都試過了,這太混亂了! – 2010-12-03 03:20:14
嘗試cin.clear,我相信你不斷地閱讀你的初始輸入字符。
cin >> selection;
cin.clear();
This page應解釋所有你需要知道的。
也許你需要使用char c; cin.get(C);你必須在 – GWW 2010-12-03 03:02:30
之後將它轉換爲整數。我認爲它是std :: string too ..如果它每次都這樣做,我很難接受它的使用。 – 2010-12-03 03:08:28