Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 251
от 25.11.2005, 12:03

Администратор:Калашников О.А.
В рассылке:Подписчиков: 241, Экспертов: 31
В номере:Вопросов: 1, Ответов: 2


Вопрос № 29859: Здрасте Эксперты! Мне нужно ввести числа с клавиатуры. Но я могу по ошибке ввести и буквы. Как мне исключить это? Мой способ описан в приложении. Помогите исправить ошибку....

Вопрос № 29.859
Здрасте Эксперты!
Мне нужно ввести числа с клавиатуры. Но я могу по ошибке ввести и буквы. Как мне исключить это?
Мой способ описан в приложении. Помогите исправить ошибку.

Приложение:

Отправлен: 20.11.2005, 12:02
Вопрос задал: GueZt (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: koshi
Здравствуйте, GueZt!
Ругается он вот почему - m у тебя int, а the - двухмерных массив char-ов, когда ты делаешь the[i] = m у тебя i-ой строке, которая состоит из 10 char-ов присваивается целочисленное значение, вот компилятор и ругается/
В приложении привожу код для чтения символов с клавы и проверку на предмет ввода буквы

Приложение:

---------
Don't worry by groovy

Ответ отправил: koshi (статус: 1-ый класс)
Отправлен: 20.11.2005, 14:21
Оценка за ответ: 4
Комментарий оценки:
Ответ хорош, но в моем случае я не проверять вводимые символы сразу:(

Отвечает: RedDevil
Здравствуйте, GueZt!
Немного не понял, если как ты пишешь тебе надо:
"Мне нужно ввести числа с клавиатуры."
То зачем тебе пихать число в строку ?

Что касается кода. Ты использовал функцию перевода из строки в число, а обратно - нет.
Функция перевода числа в строку - itoa(val, str, 10), где str - строка, val - число, 10 -

система счисления.
Или есть еще така sprintf(str,"%d", val);
Так же еще не забудь, что при выполнении этих функций изменяются только те символы,

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

выходе у тебя же будет:
1пырпые
Поэтому перед переиницализацией нужно строку опусташить.
Рабочий код смотри в форме.

Приложение:

Ответ отправил: RedDevil (статус: 1-ый класс)
Отправлен: 20.11.2005, 21:52
Оценка за ответ: 5
Комментарий оценки:
Массив может быть только char.
Через sprintf(str,"%d", val); я тоже пробовал делать. Безрезультатно.
Спасибо, код на 99% меня устроил.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100 hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=314124&im=101&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("HotLog")

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное