Задача 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 - для цикла.