2010-12-03 3 views
0

Сценарий я работаю в течение страницы в длину, так что я собираюсь связать его (один простой файл):
http://pastebin.com/7BVHmQGpC++: Бесконечный цикл с помощью простого меню выбора

Я извиняюсь за это. Моя проблема заключается в том, что я попадаю в бесконечный цикл в моем коде, например, после того, как я выбрал 1 или 2 для шифрования/дешифрования, он позволяет мне вводить слово, а когда я вхожу в «сдвиг» для шифрования, он запускает бесконечный цикл меню.

я пытался так много часов, чтобы отладить это, я подумал, что это была проблема с cin, например, при вводе неверного выбора он просто бросает бесконечный цикл/

Что, кажется, вызывают петлю infininte ?

+0

Возможно, вам нужно использовать char c; cin.get (с); вам придется преобразовать его в целое число после – GWW 2010-12-03 03:02:30

+0

. Я думал, что это тоже std :: string. Трудно принять его использование, если он делает это со мной каждый раз. – 2010-12-03 03:08:28

ответ

1

Я думаю, вы должны быть не обращая внимания на символ новой строки вместо пробела

Я попытался следующие и она работает на VS2010

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

К сожалению, я попытался добавить это перед обоими из них, и он снова зациклился. :(Я даже пробовал до всех `cin`'s. Это так запутанно! – 2010-12-03 03:20:14

0

Try cin.clear, я считаю, что вы постоянно читаете ваши начальный ввод знак.

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

This page должен объяснить все, что вам нужно знать.

 Смежные вопросы

  • Нет связанных вопросов^_^