Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Я хочу запретить ввод букв. Как это сделать?

Ответить
Настройки темы
C/C++ - Я хочу запретить ввод букв. Как это сделать?

Пользователь


Сообщения: 147
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я хочу запретить ввод букв. Как это сделать?
гетч не предлагать хочется без гетча

Отправлено: 21:33, 09-06-2008

 

Пользователь


Сообщения: 147
Благодарности: 0

Профиль | Отправить PM | Цитировать


я не понял полет мысли)
у меня два поля для ввода и они желательно должны быть отдельными.
елси в первое введет "10 пробел 20" - то 20 запишется во второе значение. а это не желательно..
ну хотя если это и делается то что бы человек понимал что уже ввел значения и во второе..хотя это мне не надо точно

Отправлено: 23:07, 13-06-2008 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Тогда будем писать два раза scanf, теперь я не понял зачем тогда пробел?
Теперь становится понятно, тогда так и стоит сделать:
Код: Выделить весь код
printf("\n Введите первый параметр (Только числа) ")
/* Здесь соответственная проверка на вводе именно чисел.*/
printf("\n Введите второй параметр (Только числа) ")
/* Дубль или организовать возврат на проверку.*/
или действительно растолковать юзеру что через пробел необходимо вводить лишь числа.
Код: Выделить весь код
printf("\n Введите <x>пробел<y> (Только числа) ") 
/* А здесь уже проверка на ввод обоих значений, если одно введено не верно то попросят заново ввести оба.*/

Отправлено: 03:23, 14-06-2008 | #22


Пользователь


Сообщения: 147
Благодарности: 0

Профиль | Отправить PM | Цитировать


а где проверка???
что бы пробел считался как буква...
к примеру
"%dрпарапр%d" - записывается только первое %d
"%dпробел %d" - только первое %d

Отправлено: 08:34, 14-06-2008 | #23


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


DENoszone, в текущем состоянии, когда в scanf указанна одна переменная, он так и работает, как показано в предыдущем посте, вот результат
Код: Выделить весь код
 Hi! Please enter the NUMBERS only 234234sdf 54645645fghfg

 Thanks! You enter number 234234
Если пробел первый, но после него цифра он читает её. А на простое нажимание пробела идёт не восприятие.

Отправлено: 10:55, 14-06-2008 | #24


Пользователь


Сообщения: 147
Благодарности: 0

Профиль | Отправить PM | Цитировать


блин=((
вообщем пытался сделать что то с русскими буквами...
но окозывается у меня уже все работало на компе...
но я что то зменил и после перезагрузки у меня в коде все переписалось на "‘Ї*бЁЎ®. ‚л ўўҐ«Ё"
а в программе это выходит норм русскими буквами...но если я напишу в коде русские буквы меня послыют.

Отправлено: 10:55, 14-06-2008 | #25


Ветеран


Сообщения: 1651
Благодарности: 146

Профиль | Отправить PM | Цитировать


Фишка в том, что при выводе на консоль используется ДОСовская кодировка (ОЕМ), а в виндовских программах - ANSI (от юникода на время абстрагируемся для простоты). Кодировочки эти совпадают для цифр и английских букв, но отнюдь не для русских. Отсюда и траблы. Решить можно, загоняя введенный русский текст в функцию CharToOem (cмотрим здесь и здесь)
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:01, 15-06-2008 | #26


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


XPEHOMETP, да в тех темах ещё юникод не так юзали, как сейчас во многих прогах.
CharToOem привязывает к MSVS. По универсальнее на базе ANSI, по моему это использовать набор текста в редакторе с соответствующей кодировкой.
А есть где простенький пример с юникодом, так сказать после заканчивания абстракции?
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:45, 15-06-2008 | #27


Ветеран


Сообщения: 1651
Благодарности: 146

Профиль | Отправить PM | Цитировать


Про юникод не знаю, мне это как-то не нужно было. Тем более что я на работе по большей части под Win 98SE сижу. Кажись, прямого преобразования из Unicode в ОЕМ нету, придется делать в два этапа: UnicodeToAnsi + CharToOem

Отправлено: 21:54, 15-06-2008 | #28



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Я хочу запретить ввод букв. Как это сделать?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Как сделать запрет ввода букв в поле для ввода input zvezda_t Вебмастеру 2 28-12-2009 15:52
Драйвер - Как запретить (сделать невозможным!) установку новых драйверов ? softer111 Microsoft Windows Vista 3 23-08-2009 23:04
Ввод ключа после установки ОС.. Как это сделать? DooD Автоматическая установка Windows 2000/XP/2003 24 08-11-2007 10:41
как это сделать? yanvlad Защита компьютерных систем 9 03-05-2006 13:36
Как это сделать... bake-rolls Видео и аудио: обработка и кодирование 10 11-06-2005 20:42




 
Переход