Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ IOResult

Автор: kpoxa 31.05.2009 19:18

ребят,помогите пожалуйста дописать программу((( очень срочно надо!!! тут надо,чтобы каждый ввод проверялся с помощью иорезалта и рэйнджа((( текст программы прикрепляю к сообщению! заранее огроменное спасибо!


Прикрепленные файлы
Прикрепленный файл  polnaya_zadacha1.pas ( 6.47 килобайт ) Кол-во скачиваний: 245

Автор: volvo 31.05.2009 19:37

Цитата
тут надо,чтобы каждый ввод проверялся с помощью иорезалта и рэйнджа(((
Напиши функцию
function GetNumber(var X: integer; range_b, range_e: integer): boolean;
, которая будет пытаться получать число, проверять IOResult, и заодно - нахождение введенного числа в заданном интервале, и вернет True только если не было ошибки ввода, и range_B<=X<=range_e ... А все вызовы ReadLn(...) в основной программе замени на
While not GetNumber(...) Do;


Вот и все, собственно...

Автор: Lapp 31.05.2009 19:38

Цитата(kpoxa @ 31.05.2009 16:18) *
чтобы каждый ввод проверялся с помощью иорезалта и рэйнджа

Смотри, как нужно делать. Вот кусок из твоей проги:
writeln('vvedite koefficient smescheniya (a):');
readln(a);
riteln('vvedite min y - otritsatelnoe chislo');
readln(b);

Нужно сделать примерно так:

{$I-}
repeat
writeln('vvedite koefficient smescheniya (a):');
readln(a)
until IOResult=0;
repeat
writeln('vvedite min y - otritsatelnoe chislo');
readln(b)
until IOResult=0;
{$I+}

И дальше в том же духе.
А что ты имела в виду про range check, я не понял. Скажи подробнее.