Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
5 / 5 / 0
Регистрация: 28.09.2011
Сообщений: 62
1

Контроль ввода данных

28.09.2011, 10:06. Показов 1417. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Меня мучает такое вопрос
есть переменная i:integer как через if можно сделать так, что если человек введет какую - нибудь билеберду программа не вылетала с ошибкой, а выводила сообщение мол "вы ввели не правильное значение".
За ранее спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2011, 10:06
Ответы с готовыми решениями:

Контроль ввода данных
как в паскале указать чтоб можно было использовать только цифры и только определённые цифры?...

Контроль ввода вывода информации
Помоги пожалуйста как написать так что если пользователь вводит информацию не правильно то...

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

Контроль Ввода Данных
Подскажите пожалуйста как мне сделать так что бы при вводе данных программа не давала вводить не...

6
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
28.09.2011, 10:34 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

В принципе если только вводить как строку и проверять, является ли она целым числом допустимого диапазона.
Pascal
1
2
3
4
5
6
7
8
9
var i,c:integer;
      s:string;
begin
repeat
write('i=');
readln(s);
val(s,i,c);
if c<>0 then writeln('Билиберда, повторите ввод');
until c=0;
0
5 / 5 / 0
Регистрация: 28.09.2011
Сообщений: 62
28.09.2011, 18:35  [ТС] 3
Puporev
спасибо и сразу спрошу а таким образом нельзя сделать
Pascal
1
2
3
readln(i);
if(ord(i)<48)or(ord(i)>58))
then writeln('Вы ввели не число')
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
28.09.2011, 18:37 4
Если i число, то нет, если символ(char) то да.
0
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
28.09.2011, 18:46 5
Цитата Сообщение от Const25 Посмотреть сообщение
if(ord(i)<48)or(ord(i)>58))
>57
или
>=58
Сам 58 символ - это двоеточие.
Кстати, можно без ord обойтись, а сравнивать с #
Pascal
1
if(i<#48)or(i>#58))
Но как заметил Puporev, переменная i должна быть типа char
0
5 / 5 / 0
Регистрация: 28.09.2011
Сообщений: 62
28.09.2011, 18:47  [ТС] 6
спасибо )
0
401 / 312 / 74
Регистрация: 17.03.2010
Сообщений: 1,119
28.09.2011, 19:53 7
Цитата Сообщение от Humanoid Посмотреть сообщение
Но как заметил Puporev, переменная i должна быть типа char
Т.е. цифра, а не число....

Не по теме:

Ну или однознаковое число)))

0
28.09.2011, 19:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2011, 19:53
Помогаю со студенческими работами здесь

TextBox контроль ввода
Здравствуйте. Подскажите пожалуйста, как сделать, чтобы при вводе пользователем некорректного...

Контроль ввода количества символов переменной
нужно сделать так, чтобы при вводе больше 15ти символов(учитывая точку и минус) в переменную типа...

$I: автоматический контроль операций ввода-вывода
$I: автоматический контроль операций ввода-вывода. вот листинг: (под к понимается число)...

Контроль входных данных
как контролировать вводимые данные? т.е. begin for i:=0 to c-1 do begin writeln('a: ');...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru