Форум программистов, компьютерный форум CyberForum.ru

Как сделать, чтобы при вводе в консоли <Enter> не переводил курсор на начало следующей строки? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.05.2012, 14:42     Как сделать, чтобы при вводе в консоли <Enter> не переводил курсор на начало следующей строки? #1
Есть некий ввод символов, организованный через cin.get(char &), или через cin.get(char &, int), или через cin.getline(char &, int). Выведена на консоль, например, фраза: "Введите то-то: ". Дальше мигает курсор (приглашение на ввод). Если вводится не то, что нужно, то на следующей строке выводится то же:"Введите то-то: " и курсор на ввод. Всё получается кроме одного: если просто нажать <Enter>, то курсор на ввод переходит на начало следующей строки. Как сделать чтобы этого не происходило? То есть, при нажатии на <Enter>, или курсор оставался на том же месте, или на следующей строке выводилось то же : "Введите то-то: " и курсор на ввод.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2012, 14:42     Как сделать, чтобы при вводе в консоли <Enter> не переводил курсор на начало следующей строки?
Посмотрите здесь:

C++ Скопировать второе слово каждой строки в начало следующей строки
Как в потоковом вводе перейти на чтение следующей строки? C++
C++ Как сделать, чтобы диалоговое окно не закрывалось при нажатии клавиши ENTER?
Как сделать, чтобы выдавал ошибку при вводе букв и элемента меньшего, чем 0? C++
Как остановить цикл при вводе enter? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.05.2012, 16:57  [ТС]     Как сделать, чтобы при вводе в консоли <Enter> не переводил курсор на начало следующей строки? #2
Вопрос решён.
LpiL
Сообщений: n/a
27.03.2013, 17:16     Как сделать, чтобы при вводе в консоли <Enter> не переводил курсор на начало следующей строки? #3
как
saaresto
9 / 9 / 0
Регистрация: 22.03.2013
Сообщений: 23
27.03.2013, 18:05     Как сделать, чтобы при вводе в консоли <Enter> не переводил курсор на начало следующей строки? #4
Судя по всему, проверкой на символ \n
Или нет?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.03.2013, 19:22  [ТС]     Как сделать, чтобы при вводе в консоли <Enter> не переводил курсор на начало следующей строки? #5
Цитата Сообщение от saaresto Посмотреть сообщение
Судя по всему, проверкой на символ \n
Или нет?
Да.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char ch;
do
{
    for ( ; ; )
    {
        cout << "Input: ";
        cin.get(ch);
        if (ch == '\n') continue;
        cin.clear();
        while (cin.get() != '\n');
        break;
    }
} while (ch != 'a');
Yandex
Объявления
27.03.2013, 19:22     Как сделать, чтобы при вводе в консоли <Enter> не переводил курсор на начало следующей строки?
Ответ Создать тему
Опции темы

Текущее время: 03:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru