Выход из цикла while после завершения ввода - PullRequest
0 голосов
/ 15 октября 2018

Я пишу программу, и в одной части программы мне нужно прочитать целочисленные входные данные пользователя и умножить каждое число на моду двух других чисел, а затем преобразовать это число в его символьное значение ASCII и вывести его вфайл.Но все это прекрасно работает ... Я просто не могу закончить цикл.Каждый раз, когда я ввожу несколько целых чисел, например, 67, 78, 100, он будет преобразовывать каждое число и выводить его в файл, как предполагалось, но вместо того, чтобы продолжить с остальной частью программы, как только это будет сделано, он возвращается к началу цикла.и просит пользователя для другого ввода.Так как же я могу завершить цикл после того, как он преобразовал все числа и сохранил их в файле.

Соответствующий код ...

while(cin >> f && f != '\n')
{
    num = f * b % N;
    CharFile << char(num) << endl;
}

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

cin предназначен для форматированного текста, то есть он не даст вам таких символов, как символы новой строки.Чтобы получить неформатированный символ, попробуйте cin.get (), чтобы увидеть, читаете ли вы новую строку:

while(cin >> f)
{
    num = f * b % N;
    CharFile << char(num) << endl;
    if (cin.get() == '\n') break;
}
0 голосов
/ 15 октября 2018

используйте break;.Для получения дополнительной информации посетите этот веб-сайт: https://www.tutorialspoint.com/cplusplus/cpp_break_statement.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...