Re: Таблиці - відфільтрувати записи з данними про холодильники (продовж.)
ось так хробив за вашими рекомендацыями:
type
xolod = record
vr:string[50];
nv:string[45];
kr:real;
rk:integer;
misc:string[45];
cn:real;
kst:real;
end;
var
i:integer;
f:text;
tabl:xolod;
type
xolod = record
vr:string[50];
nv:string[45];
kr:real;
rk:integer;
misc:string[45];
cn:real;
kst:real;
end;
var
i:integer;
f:text;
tabl:xolod;
virobn:array[1..4] of string[45];
nazva:array[1..4] of string[50];
kamera:array[1..4] of real;
rik:array[1..4] of integer;
misce:array[1..4] of string[45];
cina:array[1..4] of integer;
kilkist:array[1..4] of real;
Procedure stvor;
var
j:integer;
begin
Assign(f,'zadolbalo.txt');
Rewrite(f);
for j:=1 to 4 do
writeln(f, virobn[j]:10,'|',
nazva[j]:15,'|',
kamera[j]:16,'|',
rik[j]:4,'|',
misce[j]:9,'|',
cina[j]:9,'|',
kilkist[j]:9,'|'
);
Close(f);
End;
Procedure vvid;
begin
Assign(f, 'zadolbalo.txt');
Append(f);
Writeln('Vvedenna dannix');
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);
readln(f,rik[i]);
readln(f,misce[i]);
readln(f,cina[i]);
readln(f,tabl.kilkist[i]);
end;
writeln(sss);
End;
Procedure obrobka;
var
sss:string;
i : integer;
begin
Zagol;
Assign(f, 'zadolbalo.txt');
Reset(f);
while not eof(f) do
begin
i:=i+1;
readln(f, sss);
For i:=1 to 4 do
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
stvor;
vvid;
vuvid;
obrobka;
End.
а воно зараза : Program1.pas(93) : Ошибка времени выполнения: Входная строка имела неверный формат. на строцы
readln(f,kamera[i]);
поможіть пліз