2010-12-03 57 views
0

我工作的脚本是在很长的网页,所以我要链接它(一个简单的文件):
http://pastebin.com/7BVHmQGpC++:无限循环用一个简单的菜单选择

我为此道歉。我的问题是我在我的代码中进入了一个无限循环,例如在我选择1或2进行加密/解密后让我输入单词,当我下一次输入密码“shift”时,它会运行一个无限循环菜单。

我试过这么多小时来调试这一点,我认为这是与cin一个问题,例如,当你输入一个无效的选择,它只是抛出一个无限循环/

什么似乎引起infininte循环?

+0

也许你需要使用char c; cin.get(C);你必须在 – GWW 2010-12-03 03:02:30

+0

之后将它转换为整数。我认为它是std :: string too ..如果它每次都这样做,我很难接受它的使用。 – 2010-12-03 03:08:28

回答

1

我想你应该忽略换行符,而不是一个空间

我用下面的尝试和它VS2010工作

cin.ignore(1, '\n'); 
    getline(cin, input); 
+0

不幸的是,我试图在他们之前追加它,并且它再次无限循环。 :(我甚至在所有的`cin`之前都试过了,这太混乱了! – 2010-12-03 03:20:14

0

尝试cin.clear,我相信你不断地阅读你的初始输入字符。

cin >> selection; 
    cin.clear(); 
0

This page应解释所有你需要知道的。