вложенные записи - Turbo Pascal

Формулировка задачи:

помогите плиз решить задачку (на картинке, задание 11.2 2 вариант). Перевод: Нужно написать программу с помощью иерархических записей которая обеспечивает ввод информации и вывод в виде таблицы. Найти заработную плату военнообязаных мужчин Вот моя ахинея
program k_11_2;
type anketa =record
surname:string[20];
rik_n:word;
adres:string[30];
case ozn:integer of
1:(voenniy:Boolean,zarplata:real);
2:(num_children:integer,zamij:Boolean,zarplata:real);
end;
var a:array[1..5] of anketa;
procedure lin(m:integer);
        var 
           i:integer;
 begin
 for i:=1 to m do 
 write('-');
 writeln;
 end;
for i:=1 to 5 do begin
writeln('vvedi dannie');
readln(a.surname , a.rik_n , a.adres, a.ozn.voenniy ,  a.ozn.zarplata ,  a.ozn.num_children , a.ozn.zarplata);
end;
Lin(64);
end.
... //дальше всё даже шапку не сформирую должна быть как бы таблица в таблице, допишите пожалуйста код + как найти зарплату тоже не понимаю (((

Код к задаче: «вложенные записи - Turbo Pascal»

textual
program k_11_2;
type anketa =record
surname:string[20];
rik_n:word;
adres:string[30];
case ozn:integer of
1:(voenniy:Boolean,zarplata:real);
2:(num_children:integer,zamij:Boolean,zarplata:real);
end;
var a:array[1..5] of anketa;
procedure lin(m:integer);
        var 
           i:integer;
 begin
 for i:=1 to m do 
 write('-');
 writeln;
 end;
for i:=1 to 5 do begin
writeln('vvedi dannie');
readln(a.surname , a.rik_n , a.adres, a.ozn.voenniy ,  a.ozn.zarplata ,  a.ozn.num_children , a.ozn.zarplata);
end;
Line(80);
writeln('|Год рождения | |Год рождения|   |Адрес|  |Пол| |Военный|’);
Line(80);
for i:=1 to 5 do
begin
if sp[i].ozn=1 then
begin
writeln('| ',sp[i].surname:13,'| ',sp[i].rik_n:8,' | ',sp[i].adres:19,'|',sp[i].ozn:3,' |',sp[i].viisk:10,'|',
sp[i].zarplata:7:0,' |');
Line(80);
writeln('| Фамилия | Год рождения| Адрес |Замужем|| Количество детей | |зарплата|');
Line(80);
for i:=1 to 5 do
begin
if sp[i].ozn=2 then
begin
writeln('| ',a[i].surname:14,'| ',a[i].rik_n:8,' | ',a[i].adres:19,'|',a[i].zamij:5,'|',a[i].num_children:5,' |',
a[i].zarplata:7:0,' |');
Line(80);
end;
end;

5   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы