|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.05.2013, 14:20 | #1 |
Пользователь
Регистрация: 23.11.2012
Сообщений: 45
|
Удержать курсор при использовании cin
Подскажите, пожалуйста.
Кусочек простой программы. Нужно ввести число от 0 до 20. Если вводимое число (или текст) не попадает в этот интервал, то просим повторить. Все работает. НО!! Если просто нажимать Enter, то курсор опускается вниз по окну консоли. Я хочу, чтобы курсор при Enter оставался на позиции с координатой 0 , 9. Эта позиция подсвечена. Подскажите, пожалуйста, как не допускать опускания курсора при Enter. Вот кусочек программки: Код:
лучше день потерять, а потом за пять минут долететь
|
07.05.2013, 14:50 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Подскажите, пожалуйста, как не допускать опускания курсора при Enter.
я делал для своей консоли собственный ввод (средствами винапи) то есть, считывал нажатие клавиш,в соответствии с ними высвечивал на экране буковку, и сдвигал курсор. (std::cout и std::cin перехватывались за счет сплайсинга (подмена винапи функций для этих механизмов) - минусы ---- пришлось писать логику для ввода с нуля, основываясь на винапи - минусы ---- тогдашняя реализация была потоко не безопасной. - плюсы ---- полный контроль за всем процессом. Я делал скроллинговые поля (текст уходит за левую границу, если не влазиет в нужное поле) Или фиксированные (нельзя ввести больше букв, чем может вместить поле) /зы единственный способ не использовать стандартную логику - подменить её своей собственной. |
07.05.2013, 14:56 | #3 |
Пользователь
Регистрация: 23.11.2012
Сообщений: 45
|
извини, не совсем понял
я пробую использовать вместо cin<<kk kk=getchar(); if (kk==13) goto l4; но тогда у меня всегда выдает ошибку, даже когда я набираю 5, которая попадает в диапазон... еще пока не справился...
лучше день потерять, а потом за пять минут долететь
|
07.05.2013, 15:05 | #4 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Их бизнес-логикой управляет ОС. Ты можешь получить полный контроль над ними, если будешь взаимодействовать с самой ОС напрямую. Здесь все, что тебе нужно для консоли: http://vsokovikov.narod.ru/New_MSDN_...ole/con_fn.htm |
|
07.05.2013, 18:27 | #5 |
Пользователь
Регистрация: 23.11.2012
Сообщений: 45
|
не получается...
если подскажете, буду благодарен
лучше день потерять, а потом за пять минут долететь
|
08.05.2013, 14:50 | #6 |
Пользователь
Регистрация: 23.11.2012
Сообщений: 45
|
все!
сделал!! не надо cin надо getline вот оно решение: Код:
лучше день потерять, а потом за пять минут долететь
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при использовании темплейта | optimator | Общие вопросы C/C++ | 5 | 06.10.2011 14:44 |
Ошибка при использовании ICQClient | Mihanches | Работа с сетью в Delphi | 2 | 04.10.2010 21:27 |
Проблема при использовании CreatProcess | иннокент | Win Api | 6 | 18.08.2010 19:11 |
Проблемка при использовании регрессии | 500_pinguins | Microsoft Office Excel | 0 | 16.06.2009 08:17 |
TStringGrid. Как удержать фокус на ячейке таблицы? | ruma | Помощь студентам | 1 | 22.10.2007 12:49 |