C ++: бесконечный цикл с простым выбором меню - PullRequest
0 голосов
/ 03 декабря 2010

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

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

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

Что, кажется, вызывает бесконечные циклы?

Ответы [ 3 ]

1 голос
/ 03 декабря 2010

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

Я попробовал следующее, и это работает на VS2010

    cin.ignore(1, '\n');
    getline(cin, input);
0 голосов
/ 03 декабря 2010

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

0 голосов
/ 03 декабря 2010

Попробуйте cin.clear, я полагаю, вы постоянно читаете свой начальный ввод символов.

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