Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Проверка ввода
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Глупыш Глупыш вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 22.11.2004
По умолчанию Проверка ввода - 22.11.2004, 16:41

Подскажите, пожалуйста, неразумной:
Как сделать в программе чтобы при вводе числа с клавиатуры проверялось, что введенное число неотрицательное ( обязательно >0) и если ввели орицательное программа тут же должна сообщить об ошибке и попросить ввести другое число.
И еще при вводе другого числа надо чтоб оно было в интервале от 1 до 5, т.е. можно вводить только 1,2,3,4 или 5, а в противном случае тоже должно возникать сообщение об ошибке.
Очень надеюсь на вашу помощь.
Ответить с цитированием
  (#2 (permalink)) Старый
Глупыш Глупыш вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 22.11.2004
По умолчанию Проверка ввода - 22.11.2004, 16:41

Подскажите, пожалуйста, неразумной:
Как сделать в программе чтобы при вводе числа с клавиатуры проверялось, что введенное число неотрицательное ( обязательно >0) и если ввели орицательное программа тут же должна сообщить об ошибке и попросить ввести другое число.
И еще при вводе другого числа надо чтоб оно было в интервале от 1 до 5, т.е. можно вводить только 1,2,3,4 или 5, а в противном случае тоже должно возникать сообщение об ошибке.
Очень надеюсь на вашу помощь.
Ответить с цитированием
  (#3 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,907
Сказал(а) спасибо: 2
Поблагодарили 297 раз(а) в 297 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 22.11.2004, 22:21

Глупыш пишет:
Цитата:
число неотрицательное ( обязательно >0)...
Вы сами с собой договоритесь - сколько Вам взвешивать точно .
Вот Ваша задача, сделанная рекурсивно:
Код:
predicates
ввод проверка(integer)
goal ввод.
clauses 
ввод:-readint(Число),проверка(Число).
проверка(Число):-Число>0,!.
проверка(_):-write("Ошибка, введите другое число.n"),ввод.
Хотя можно сделать и откатом.
Для интервала от 1 до 5 попробуйте сделать сами - это же очень просто! Достаточно добавить одно условие: Число<6.
Ответить с цитированием
  (#4 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,907
Сказал(а) спасибо: 2
Поблагодарили 297 раз(а) в 297 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 22.11.2004, 22:21

Глупыш пишет:
Цитата:
число неотрицательное ( обязательно >0)...
Вы сами с собой договоритесь - сколько Вам взвешивать точно .
Вот Ваша задача, сделанная рекурсивно:
Код:
predicates
ввод проверка(integer)
goal ввод.
clauses 
ввод:-readint(Число),проверка(Число).
проверка(Число):-Число>0,!.
проверка(_):-write("Ошибка, введите другое число.n"),ввод.
Хотя можно сделать и откатом.
Для интервала от 1 до 5 попробуйте сделать сами - это же очень просто! Достаточно добавить одно условие: Число<6.
Ответить с цитированием
  (#5 (permalink)) Старый
Fuud Fuud вне форума
Member
 
Сообщений: 4,076
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.09.2004
По умолчанию 22.10.2005, 20:27

Цитата:
Originally posted by Винитарх
[b]Вот Ваша задача, сделанная рекурсивно:
А если пользователь совсем тупой, программа ошибется: "stack overflow"
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Alison Alison вне форума
Member
 
Сообщений: 4,771
Сказал(а) спасибо: 0
Поблагодарили 119 раз(а) в 116 сообщениях
Регистрация: 17.11.2004
По умолчанию 22.10.2005, 21:00

Пользователь быстрее "умрет" за компьютером, чем добьется с помощью этой проги переполнения стека.
Ответить с цитированием
  (#7 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,907
Сказал(а) спасибо: 2
Поблагодарили 297 раз(а) в 297 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 22.10.2005, 21:21

Согласен. Эта прога не наполняет стек.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PCI устройство ввода Mori Разное 11 09.01.2012 11:39
Проверка правильности ввода SpiritDoggy С/С++ 9 07.01.2012 00:43
Маска ввода для Edit imported_Oska Visual C++ 4 26.02.2011 19:01
Проверка правильности ввода данных Yulush С/С++ 3 23.10.2010 20:34
Курсор ввода в HTML Aist++ DHTML, JavaScript, VBScript 1 13.04.2006 01:35
Диалог для ввода текста sank Visual C++ 2 20.11.2005 13:03
Edit для ввода даты tusha C++ Builder 3 24.07.2005 03:19
Компонента для ввода IP адреса LONGOBARD Delphi 1 28.02.2005 21:36
Компонент ввода с фильтрацией CSKCSK C++ Builder 0 09.08.2004 15:45
Отслеживание ввода в DBGrid John Maison C++ Builder 1 21.07.2004 04:34
правильность ввода Bonnie PHP 4 17.06.2004 17:42
Как задать маску ввода Anonymous Delphi 3 17.06.2003 16:50



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов