Delphi-Help

Задача 583 на Pascal

Оцените материал
(2 голосов)


Задача 583 на Pascal

Условие задачи - из списка задач к Госэкзаменам по предмету "Технология разработки программных продуктов".

Задача №19. Создать файл, содержащий сведения о наличии билетов и рейсах Аэрофлота. Структура записи: номер рейса, пункт назначения, время вылета, время прибытия, количество свободных мест в салоне. Количество записей (2-3). Вывести время отправления самолетов в город X.

type
 tip1=record
       n:byte;                 {номер рейса                        }
       town,time0,time1:string;{город, время отправления и прибытия}
       freeplace:integer;      {количество свободных мест          }
      end;
 
var
d:tip1;
i,max_d:integer;
f:file of tip1;
 
{ввод данных и сохранение в файл}
PROCEDURE input_d;
BEGIN
write('Введите количество рейсов: ');
readln(max_d);
 
writeln;
writeln('* * * Заполнение данных о рейсах * * *');
writeln;
 
{открыть или создать файл}
{$I-}
assign(f,'data.dat');
reset(f);
seek(f,filesize(f));
{$I+}
if ioresult<>0 then rewrite(f);
 
for i:=1 to max_d do
 begin
  writeln('----- ',i,' -----');
  write('Введите номер рейса: ');
  readln(d.n);
  write('Введите город прибытия: ');
  readln(d.town);
  write('Введите время отправления: ');
  readln(d.time0);
  write('Введите время прибытия: ');
  readln(d.time1);
  write('Введите количество свободных мест: ');
  readln(d.freeplace);
  write(f,d);
 end;
 
close(f);
writeln;
writeln('Данные были сохранены в файл!');
readln;
END;
 
{вывод данных из файла по введенному названию города}
PROCEDURE view_d;
var
x:string;
tmp_d:tip1;
BEGIN
{открыть файл для чтения информации}
{$I-}
assign(f,'data.dat');
reset(f);
{$I+}
if ioresult<>0 then
 begin
  writeln('Файл не найден!');
  readln;
  exit;
 end;
 
write('Введите название города: ');
readln(x);
writeln;
 
while not eof(f) do
begin
 read(f,tmp_d);
 if tmp_d.town=x then          {сравнить названия городов}
  begin
   writeln('Номер рейса: ',tmp_d.n);
   writeln('Город: ',tmp_d.town);
   writeln('Время отправления: ',tmp_d.time0);
   writeln('Время прибытия: ',tmp_d.time1);
   writeln('Количество свободных мест: ',tmp_d.freeplace);
   writeln('--------------------------------');
  end;
end;
 
close(f);
writeln('Поиск завершен!');
readln;
END;
 
{***** основная программа *****}
BEGIN
input_d;
view_d;
END.

· переменная d - для хранения данных;

· переменная max_d - количество записей;

· переменная i - для цикла.

Прочитано 5946 раз
Другие материалы в этой категории: « Задача 582 на Pascal Задача 869 »

Авторизация



Счетчики