program ocenki;
{$APPTYPE CONSOLE}
uses
SysUtils;

const
nmax = 30;

type
info=record
num:integer;
punkt:string[15];
timevil:real;
timeprib:real;
svmest:integer;
end;
tfly = file of info;

procedure vvodzap(var tplane: tfly; plane: info; n: byte);
var
i: byte;
begin
for i := 1 to n do
begin
writeln(i, '-й рейс');
writeln;
writeln('Номер рейса');
writeln;
readln(plane.num);
writeln;
writeln('Пункт назначения');
writeln;
readln(plane.punkt);
writeln;
writeln('Время вылета');
writeln;
readln(plane.timevil);
writeln;
writeln('Время прибытия');
writeln;
readln(plane.timeprib);
writeln;
writeln('Свободных мест');
writeln;
readln(plane.svmest);
writeln;


write(tplane, plane);
end;
end;


procedure sort(var tplane: tfly; plane: info; n: byte);
var
buf1, buf2: real;
buf3, buf4: info;
i, j: byte;
begin
for i := 1 to n - 1 do
begin
for j := 1 to (FileSize(tplane) - 1) do
begin
begin
seek(tplane, j - 1);
read(tplane, plane);
buf1 := plane.svmest;
seek(tplane, j);
read(tplane, plane);
buf2 := plane.svmest;
if buf1 < buf2 then begin
seek(tplane, j - 1);
read(tplane, plane);
buf3 := plane;
seek(tplane, j);
read(tplane, plane);
buf4 := plane;
seek(tplane, j - 1);
write(tplane, buf4);
seek(tplane, j);
write(tplane, buf3); end;
end;
end;
end; end;

procedure punkt(var tplane: tfly; plane: info );
var punkt:string; k,t:integer; lil: real; o:integer;
begin
writeln('Введите требуемый пункт назначения');
Writeln;
readln(punkt);
writeln('Номер рейса| Пункт назначения | Время вылета | Билеты');
while not (EOF(tplane)) do
begin
k:=0;
read(tplane, plane);
if plane.punkt=punkt
then begin

writeln (plane.Num:4,plane.punkt:23,plane.timevil:13:2,' ':9, plane.svmest);
write(tplane, plane); k:=k+1;
end;end;
if k=0 then Writeln('В данный город рейсов нет');
writeln;
seek(tplane, 0);
Writeln('Введите время отправления');
readln(lil);
WRiteln;
writeln('Номер рейса| Пункт назначения | Время вылета | Билеты');
while not (EOF(tplane)) do
begin
o:=0;
read(tplane, plane);
if (plane.timevil=lil) then begin


writeln(plane.Num:4,plane.punkt:23,plane.timevil:13:2,' ':9, plane.svmest);

write(tplane, plane); o:=o+1;

end;end;
if o=0 then Writeln('На данное время билетов нет');
end;



procedure viv(var tplane: tfly; plane: info);
begin
writeln('Номер рейса| Пункт назначения | Время вылета | Билеты');
while not (EOF(tplane)) do
begin
read(tplane, plane);writeln;
write(plane.num:4, plane.punkt:23, plane.timevil:13:2,' ':9,

plane.svmest); end;
writeln;
end;




var
tplane: tfly;
Fname: string;
plane: info;
n, i: byte;


begin
writeln('Введите имя файла');
readln(Fname);
writeln('Введите количество рейсов');
readln(n);
assign(tplane, fname);

//Ввод таблицы
rewrite(tplane);
vvodzap(tplane, plane, n);
closefile(tplane);

//Сортировка по убыванию свободных мест
reset(tplane);
sort(tplane, plane, n);
closefile(tplane);
writeln;

//Вывод таблицы

reset(tplane);
viv(tplane, plane);
closefile(tplane);
writeln;


reset(tplane);
punkt(tplane, plane);
//time(tplane, plane);
closefile(tplane);

readln ;
end.





Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.