Re: Таблиці - відфільтрувати записи з данними про холодильники (продовж.)
кидаю вам знову повністю код. знов виводить отсортовані зразу ж:
type
xolod = record
vr:string[50];
nv:string[45];
kr:integer;
rk:integer;
misc:string[45];
cn:real;
kst:real;
end;
var
i,j:integer;
f:text;
tabl:xolod;
virobn:array[1..4] of string[45];
nazva:array[1..4] of string[50];
kamera:array[1..4] of integer;
rik:array[1..4] of integer;
misce:array[1..4] of string[45];
cina:array[1..4] of real;
kilkist:array[1..4] of real;
Procedure vvid;
var
i:integer;
begin
Assign(f, 'zadolbalo.txt');
Rewrite(f);
Writeln('Vvedenna dannix');
For i:=1 to 4 do
with tabl do
begin
Write('virobn:');
readln(vr);
Write('nazvanie:');
readln(nv);
Write('kamera:');
readln(kr);
Write('rik:');
readln(rk);
Write('misce:');
readln(misc);
Write('cina:');
readln(cn);
Write('kilkist:');
readln(kst);
writeln(f,vr:10);
writeln(f,nv:15);
writeln(f,kr:16);
writeln(f,rk:4);
writeln(f,misc:9);
writeln(f,cn:9);
writeln(f,kst:9);
end;
Close(f);
End;
Procedure Zagol;
begin
writeln('-----------------------------------------------------------------------');
writeln('| Виробництво | Назва | Обэм Камери | Рік | Місце | Ціна | Кількість|');
writeln('-----------------------------------------------------------------------');
End;
Procedure Vuvid;
var
sss:string;
begin
assign(f, 'zadolbalo.txt');
Reset(f);
while not eof(f) do
begin
i:=i+1;
readln(f,virobn[i]);
readln(f,nazva[i]);
readln(f,kamera[i]);
readln(f,rik[i]);
readln(f,misce[i]);
readln(f,cina[i]);
readln(f,kilkist[i]);
end;
writeln(sss);
End;
Procedure obrobka;
var
sss:string;
i : integer;
begin
Zagol;
Assign(f, 'zadolbalo.txt');
Reset(f);
For i:=1 to 4 do
begin
readln(f, sss);
If (rik[i]= 1993) then
begin
write(' |', virobn[i]:10,'|');
write(nazva[i]:15,'|', kamera[i]:16,'|', rik[i]:4,'|', misce[i]:9,'|' , cina[i]:9,'|' , kilkist[i]:9,'|');
writeln(sss);
end;
end;
Close(f);
End;
BEGIN
vvid;
vuvid;
obrobka;
End.