Работа с составными типами данных в системе Turbo Pascal. Батхин А.Б - 20 стр.

UptoLike

Составители: 

date = record
day:1..31;
mon:1..12;
year:integer
end;
person = record
fio:string [20];
adr:mesto;
dtel:real;
rtel:real;
drog:date
end;
var j:integer;
f:text;
segodnya:date;
zapkn:array [1..m] of person;
nashli:boolean; { флажок удачного поиска }
{ Процедура чтения из файла f одной записи для записной книжки }
procedure chtenie (var p:person);
begin
with p do
begin
read (f,fio);
read (f,adr.index);
read (f,adr.kuda);
read (f,dtel,rtel);
readln (f,drog.day,drog.mon,drog.year);
end
end;
{ Процедура вывода сообщения об одном адресате }
procedure vivod(p:person);
begin
writeln('-----------------------------------------------');
write (p.fio,', сегодня исполнилось ');
writeln(segodnya.year - p.drog.year, ' лет.');
writeln('Почтовый адрес: ',p.adr.index:6:0,',');
writeln(pusto,p.adr.kuda,',');
write(pusto,'телефоны: ');
writeln(p.dtel:6:0,'(д.), ',p.rtel:6:0,' (р.) .');
end;
{ Основная программа }
         date = record
                     day:1..31;
                     mon:1..12;
                     year:integer
                   end;
         person = record
                     fio:string [20];
                     adr:mesto;
                     dtel:real;
                     rtel:real;
                     drog:date
         end;
var j:integer;
   f:text;
   segodnya:date;
   zapkn:array [1..m] of person;
   nashli:boolean; { флажок удачного поиска }
{ Процедура чтения из файла f одной записи для записной книжки }
     procedure chtenie (var p:person);
     begin
         with p do
             begin
                 read (f,fio);
                 read (f,adr.index);
                 read (f,adr.kuda);
                 read (f,dtel,rtel);
                 readln (f,drog.day,drog.mon,drog.year);
             end
     end;
{ Процедура вывода сообщения об одном адресате }
     procedure vivod(p:person);
     begin
         writeln('-----------------------------------------------');
         write (p.fio,', сегодня исполнилось ');
         writeln(segodnya.year - p.drog.year, ' лет.');
         writeln('Почтовый адрес: ',p.adr.index:6:0,',');
         writeln(pusto,p.adr.kuda,',');
         write(pusto,'телефоны: ');
         writeln(p.dtel:6:0,'(д.), ',p.rtel:6:0,' (р.) .');
     end;
{ Основная программа }