|
5 / 5 / 1
Регистрация: 16.04.2010
Сообщений: 64
|
|
Проверка ввода16.04.2010, 23:47. Показов 15002. Ответов 48
Метки нет (Все метки)
Всем привет. Прошу обясните мне как зделать проверку вводимых даных. Мне нужно к примеру задать числовой масив типа (int). Как зделать так чтоб когда пользователь вводит к примеру Ф123;:87!"№;;%:!"№;%:?*(99321фвфв и тд.. или что нить подобное после проверки попросить повторить ввод даного елемента масива(или числа)?
Я находил в темах немного подобное моему примеру но не смог розобратса, покажыте пожалуста как ето зделать и если можна то в Borland C++. Зарание спасибо.
0
|
|
| 16.04.2010, 23:47 | |
|
Ответы с готовыми решениями:
48
C++ проверка ввода Проверка ввода |
|
5 / 5 / 1
Регистрация: 16.04.2010
Сообщений: 64
|
||||||
| 17.04.2010, 16:26 [ТС] | ||||||
|
neske те респект!!! neske неске круче всех!!!
твоя прога лутшая я токо доделал чтоб с минусовые значения мона было вводить вот код!!
[
0
|
||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 17.04.2010, 17:11 | |
|
Morfiy, код который написал уважаемого neske имеет изьян, т.к. он основывается на конкретных кодах символов цифр, что совсем не хорошо. В зависимости от используемой кодовой страницы, коды символов могут меняться.
Для того чтобы обойти подобную ситуацию необходимо использовать функцию isdigit.
1
|
|
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
|
| 17.04.2010, 20:41 | |
|
CyBOSSeR, на самом деле когда писал, пытался нагуглить что-то подобное, но у меня не удалось.
Учту на будущее, спасибо. PS - Morfiy,
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
| 17.04.2010, 21:51 | ||||||
|
neske, не за что.
Еще было бы неплохо выделить код отвечающий за ввод цифры в отдельную функцию, как то так например (не проверял):
0
|
||||||
|
5 / 5 / 1
Регистрация: 16.04.2010
Сообщений: 64
|
|
| 18.04.2010, 12:59 [ТС] | |
|
Всем спасибо за помощь если у кого будут идеи как улутшыть способ проверки даных вылажуйте )
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 18.04.2010, 15:48 | |
|
я же написал способ, чтоб вообще нельзя было вводить что-то ненужное, т.е. без всяких всплывающих ошибок, на экран выводится и числу присваивается только то, что можно ввести
там только нужно дописать для плавающей точки и знака минус)
0
|
|
|
5 / 5 / 1
Регистрация: 16.04.2010
Сообщений: 64
|
||
| 18.04.2010, 16:29 [ТС] | ||
|
0
|
||
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 18.04.2010, 16:39 | |
|
а нужно, чтоб не выводило 0, а дальше запрашивало ввод, пока не будет присвоено какое-либо значение?
т.е. пока мы сами не нажмем 0, число не должно быть образовано?
0
|
|
|
5 / 5 / 1
Регистрация: 16.04.2010
Сообщений: 64
|
||
| 18.04.2010, 16:54 [ТС] | ||
|
когда запускаеш твою прогу и просто нажымаеш токо Enter оно присваюет масиву значение "0" нада чтоб оно просто не чево не делал)
1
|
||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
| 18.04.2010, 17:08 | ||||||
|
Morfiy, попробуй:
0
|
||||||
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
||||||
| 18.04.2010, 17:23 | ||||||
для проверки в ф-ции main() пишем х, чтобы убедится в том, какое именно значение х остается после ввода, прежнее или введенное и обработанное ф-цией) p.s. спасибо вам, Morfiy, благодаря вашим замечаниям ф-ция стала лучше)
0
|
||||||
|
5 / 5 / 1
Регистрация: 16.04.2010
Сообщений: 64
|
||
| 18.04.2010, 18:02 [ТС] | ||
|
В 32-й строке кода у меня выдает ошыбку
Expression syntax Undefined symbol 'ostream_iterator' Добавлено через 56 секунд ето у CyBOSSeR Добавлено через 12 минут Ты не понял что я имел виду. float x=2;//здесь ты задаеш первоначальное значение х которое будет выводитса если пользователь не введет ни одного символа з клавиатуры и нажмет Ентер Вот так будет работать прога ета: //------ 2 Для продолжения нажмите любую клавишу . . . //-- суть проблемы в том что к примеру какаято блондинка на роботе будет пить кофе и случайно зажмет Ентер и выйдет так что она задаст весь масив числами 2
0
|
||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 18.04.2010, 18:04 | |
|
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 18.04.2010, 18:14 | |
|
Morfiy, так вы попросили ничего не присваивать х, вот и ни чего не присваивается, если будет просто float x, то массив будет забит вообще левыми числами, изначально он забивался нулями, и после вашего вопроса, я хотел уточнить, если пользователь нажимает просто Enter, без присваивания до этого какого-либо значения, то программа ничего не делает, а ждет, пока не будет введено хоть какое-то значение?
как обычный cin >> x; жмем Enter, а оператор ждет, пока не получит какой-то символ перед нажатием Enter?
0
|
|
|
5 / 5 / 1
Регистрация: 16.04.2010
Сообщений: 64
|
||||||||
| 18.04.2010, 18:44 [ТС] | ||||||||
|
когда пользователь будет нажымать ентер и перед етим он не ввел ни какого значения, чтоб програма ждала пока независимо скоко раз он надмет ентер пока пользователь не введет значение Добавлено через 15 минут когда пользователь будет нажымать ентер и перед етим он не ввел ни какого значения то твоя програма присваиваит значения 0 масиву //---- std::copy(arr, arr + size, std::ostream_iterator<int>(std::cout, " ")); что у тебя делает ета функцыя? а то когда я ее удалаю из кода прога в конце выводит результат так: 1 2 3 4 5 6 7 8 9 0 а когда ее не удалять результат выводитса так: 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 Вот что я добавил в код твоей програмы:
0
|
||||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||||
| 18.04.2010, 19:04 | ||||||||
1
|
||||||||
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
||||||
| 18.04.2010, 19:21 | ||||||
1
|
||||||
|
5 / 5 / 1
Регистрация: 16.04.2010
Сообщений: 64
|
|
| 18.04.2010, 19:36 [ТС] | |
|
Спасибо всем за помощь!!!
найболее правильный придставили Vorona и CyBOSSeR
0
|
|
|
302 / 160 / 62
Регистрация: 27.02.2010
Сообщений: 317
|
||||||
| 22.04.2010, 12:18 | ||||||
|
Понимаю, что уже поздно... но, все же вот еще вариант
:
0
|
||||||
| 22.04.2010, 12:18 | |
|
Проверка ввода gets() проверка ввода
Проверка ввода Проверка ввода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|