![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
KorroK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.12.2008 Репутация: нет Всего: нет |
Требуется сделать так, чтобы можно было ввести только римские цифры.
Есть идея сделать посимвольный ввод с проверкой, вроде char r; do { r = _getch(); if (r == 'X' || r == 'V' || r == 'I') // и т.д. { std::cout << r; } } while(r != 13); Споткнулся на том, как: - веденые символы сливать в одну строку - если вводится в нижнем регистре переводить в верхний - как задействовать редактирование при вводе (Back Spaсe, например) |
|||
|
||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 13 Всего: 41 |
вот так можно -------------------- |
|||
|
||||
KorroK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.12.2008 Репутация: нет Всего: нет |
Спасибо, получилось
А редактировать строку ввода ка-то можно? Это сообщение отредактировал(а) KorroK - 23.12.2008, 01:35 |
|||
|
||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 13 Всего: 41 |
KorroK, ну ты сам смотри, ты нажимаешь enter для подтверждения ввода, как тут отредактируешь, редактировать можно пока enter не нажал, а так потом уже после ввода можно сделать редактирование... а так сам посуди... переменная уже десять раз изменилась, записалась в строку, а ты ее менять собрался...
как ты это представляешь??? объясни???? -------------------- |
|||
|
||||
KorroK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.12.2008 Репутация: нет Всего: нет |
да, пожалуй, в консоли никак
чет я туплю ) |
|||
|
||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 13 Всего: 41 |
да нет, можно везде сделать что угодно...
только нужна идея... я допустим не представляю... а ты, может, видишь ясно как это делать... только не знаешь как реализовать... но видно ты тоже не видишь... так что редактируй дальше в проге... вот выход... -------------------- |
|||
|
||||
SkyCoder |
|
|||
![]() Новичёк ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 26.6.2006 Где: 3-я планета от со лнца Репутация: нет Всего: нет |
Когда только учился, я на подобное заморачивался. Редактирование самостоятельно делается без проблемм, если делать на потоках с помощью getch и getchar. Иной вариант изучи printf() scanf().
Если делаешь с помощью гетчар и и гетчш смотри. гетчар и гетчш читают ОДИН символ из потока ввода программы.Знал. Каждая клавиша имеет свой код который отсылается в поток ввода программы. Знаешь. Функциональные клавиши и русские буквы отсылаются в поток ввода двумя символами. нулём(не путать с символом '0'==48) и собственно кодом. Знаешь. Что бы узнать коды клавиш, напиши софтину, которая выводила бы поток ввода, посимвольно, при том сам символ и его код. Пишешь обработчик вводимых символов - по коду определяешь что было нажато, производишь необходимые действия над вводимой строкой(переменной) и выводишь это действие на консоль(т.е. для тебя в поток вывода). Запомнился пример - что бы стереть один символ из консоли выводишь строку "\b \b" (бэкспейс, пробел,бэкспейс) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |