Вопрос № 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% меня устроил.