Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > Ввод только цыфр |
Автор: Warden 22.11.2008, 17:01 | ||
Вот есть фрагмент моей проги, кто знает подскажите плз как сдлать так чтобы при вводе размерности масива и его елементов пользователь мог ввести только цыфры а не буквы и символы |
Автор: Remiznik 22.11.2008, 17:16 |
думаю нужно перед передачей строки проверить её на правельность ввода ... нужна функция проверки отстусвия знаков и символов кроме нужных !!! но тут я думаю могут быть проблемы так как числа могут буть вешественые !!! |
Автор: IKM2007 22.11.2008, 17:37 | ||
Уже была такая тема. Вот код.
|
Автор: sQu1rr 22.11.2008, 17:50 |
Могу предложить альтернативный способ... Тока над решением придутся подумать но расскажу логику команда cin >> x; пре условии что x = int, считывает только цифры, и когда в потоке ввода встречается не цифра, то cin ее не использует, а остовляет в потоке и читает следующий символ. Так как символ не цифры cin остовляет в потоке, то это приводит к бескоечному циклу прочтения одного и того же символа. Это можно использовать для удаления символов прямо во входном потоке. Ну разумеется легче не пудрить сбе мозги, а действовать по варианту IKM2007 |
Автор: Remiznik 22.11.2008, 17:54 |
работает только с целыми !! если вводиш вешественое определяет что это строка ( |
Автор: Warden 22.11.2008, 19:48 |
а теперь кто поможет перевести его на си?![]() |
Автор: Warden 23.11.2008, 01:36 | ||
Люди, у меня после того как функция создание масива создала его, но не хочет возвращать поинтер на поинтер посотрите плз, а он мне нада в следущей функции, а делать в майне заполнение масива не хочеть |
Автор: IKM2007 23.11.2008, 10:19 | ||||
В 26 строке вместо
напиши
|
Автор: Warden 23.11.2008, 11:34 |
спс большре![]() |
Автор: Warden 23.11.2008, 18:06 | ||||
может есть какието ещё варианты, всё равно когда я возвращаю
и потом
пишет что не знает что такое pa |
Автор: IKM2007 23.11.2008, 20:53 |
Правильно говорит, что не знает, что такое pa, переменная pa локальная, то есть вне функции уже недоступна. Ты должен в функцию передать имя двумерного массива, который обьявлен в мейне. |
Автор: OhMyGod 24.11.2009, 21:49 | ||
Это часть кода.....Почему-то не всегда работает, если ввожу нормальные цифры, то все равно выбивает, что есть ошибка... А бывает и нормально работет..... И ещё....Скажите, как сделать проверку для типа float? Плиз.. Надо на курсач, уже помираю тут с ним)))) Модератор: не забываем пользоваться кнопочкой "Код" |
Автор: bsa 24.11.2009, 22:25 |
Warden, почитай http://forum.vingrad.ru/forum/topic-269805/kw-faq-coding-style-%D1%81%D1%82%D0%B8%D0%BB%D1%8C-%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.html. |
Автор: OhMyGod 24.11.2009, 23:52 |
Это типа,что у меня как попало все напечатано.?... В проге нормально, просто сюда копировала, шо попало получилось..... Мне бы вот решить проблему с этой проверкой ввода данных и я была б счастлива ![]() |