Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
11 / 11 / 1
Регистрация: 02.05.2009
Сообщений: 29

Защита от дурака

12.05.2009, 16:39. Показов 4180. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, участники форума!
У меня проблема: написал курсовую работу по паскалю на базы данных, теперь необходимо разработать так называемую "защиту от дурака", как вы понимаете, защиту от некорректного пользовательского ввода.
Подскажите, какими процедурами/функциями/директивами пользоваться, чтобы проверить следующее: 1)существует ли запрашиваемый файл на диске, если нет=>вывести соответствующее сообщение;2)корректно ли пользователь ввёл тип запрашиваемой информации (в частности, в программе необходим ввод целого числа, но, если вводится строка, символ, вещественное число и т.д.=>вывести соответствующее сообщение о неправильном вводе).
Признателен за любую помощь...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.05.2009, 16:39
Ответы с готовыми решениями:

Защита от дурака!
Программа среди столбцов нашей матрицы (где первый элемент столбца отрицателен), ищет последний столбец с максимальным количеством...

Защита от дурака на pascal/lazarus
Здравствуйте, прошу помочь в написании "защиты от дурака". Нужно вводить числа от 1 до 9, другие числа или символы нужно запретить. Заранее...

Защита от дурака в Паскале (от не того типа данных)
Конкретной задачи нет, интересует сугубо теория=) Предположим нам надо считать в консольном режиме любого паскаля переменную...

6
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
12.05.2009, 20:59
По первому вопросу:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{$I-} {почитайте в справочнике паскаля}
  repeat
    Writeln('Введите наименование файла');
    readln(NameFile);
    assign(f,nameFIle);
    reset(f);
    If IOResult<>0 then
    begin
      Writeln('Запрашиваемый вами файл ' ,Namefile, ' не найден, повторите ввод');
      readkey;
      reset(f)
    end;
    clrscr;
  until IOResult=0; {IOResult-почитайте в справочнике Паскаля или в инете}
 {$I+} {не забываем включать проверку ввода/вывода}
По второму:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Uses
  crt;
var
  i:integer;
begin
  {$I-}
  repeat
    clrscr;
    Writeln('Введите число');
    readln(i);
  until IOResult=0;
  {$I+}
end.
1
11 / 11 / 1
Регистрация: 02.05.2009
Сообщений: 29
12.05.2009, 21:10  [ТС]
Большое спасибо, lexus_ilia! буду пробывать...
0
Посланник моего господина
111 / 106 / 52
Регистрация: 02.05.2009
Сообщений: 181
12.05.2009, 21:11
Год назад был написан модуль для пункта (2). См. Вложения

Принцип пользования: перед readln вводим CorrectFormat:=true, далее считываем строку readln(s) и извлекаем число: ReadNumber(s). В CorrectFormat автоматически указывается корректность. Если необходимо считать вещественное число, то используем ReadFloatNumber(s), но тут могут быть проблемы при форме записи выда "1,135Е+5"

Для первого пункта могу посоветовать использовать {$I-} и функцию IOResult, которая в случае существования файла (точнее, при корректной операции с ним) вернет 0. Примеры использования описаны выше.
Вложения
Тип файла: rar RICH.rar (1.1 Кб, 36 просмотров)
1
11 / 11 / 1
Регистрация: 02.05.2009
Сообщений: 29
12.05.2009, 21:22  [ТС]
И вам спасибо, Messenger of G.!
0
0 / 0 / 0
Регистрация: 04.09.2016
Сообщений: 6
04.09.2016, 16:34
PascalABC пишет неизвестное имя IOResult , подскажите что делать?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
04.09.2016, 19:36
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var f:text;
    namefile:string;
begin
readln(NameFile);
if not fileexists(namefile) then
 begin
   Writeln('Запрашиваемый вами файл ' ,Namefile, ' не найден');
   exit;
 end;
assign(f,nameFIle);
reset(f);
//...................
close(f);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.09.2016, 19:36
Помогаю со студенческими работами здесь

Защита от дурака
Помогите в формулу для вычисления площади круга,вставить защиту от дурака,чтоб нельзя было вводить буквы,и выдавала ошибка Код Var...

Защита от дурака
Здравствуйте,препод сказал написать &quot;защиту от дурака&quot; для данной задачи(сама задача уже готова), но дело в том,что я не понимаю,как она...

Защита от дурака в Паскале
Помогите пожалуйста, имеется программа нужно добавить защиту от введения букв var i,n,s,p:integer; begin writeln('Введите n');...

Защита от дурака
следующая проблема, если я ввожу символы любые, то как мне сделать чтобы программа выводила сообщение &quot;введены не числовые...

защита от дурака
Лазил по форуму, не могу найти подходящую защиту от ввода букв для интеграции. Необходимо защитить значения А,B,n от ввода букв: ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru