Возникла маленькая проблема в данном коде, дело в том что я незнаю как поставить правильно запрос в данной процедуре (в основном коде я её выделил):
Код
procedure search;
var j,men:integer;
begin
reset(meter);
read(meter,i);
close(meter);
reset(t);
j:=1;
read(t,str);
men:=str.cost;
for j:=2 to i do begin
read(t,str);
if men>deposit.cost then men:=str.client.cost;[B]<<<проблема тут(задание- см.ФОТО[/B]
end;
close(t);
reset(t);
for j:=1 to i do
begin
read(t,str);
if min=str.cost then
begin
clrscr;
writeln(j,' firm - ',str.firm);
writeln(' cena- ',str.cost);
writeln(' type - ',str.type);
writeln(' money ');
writeln(' deposit - ',str.client.deposit);
writeln(' procent - ',str.client.proc);
writeln(' ne vipl summa - ',str.client.npaid);
TextColor(15);
readln;
end;
end;
TextColor(15);
writeln(' press any key ');
readln;
end;
var j,men:integer;
begin
reset(meter);
read(meter,i);
close(meter);
reset(t);
j:=1;
read(t,str);
men:=str.cost;
for j:=2 to i do begin
read(t,str);
if men>deposit.cost then men:=str.client.cost;[B]<<<проблема тут(задание- см.ФОТО[/B]
end;
close(t);
reset(t);
for j:=1 to i do
begin
read(t,str);
if min=str.cost then
begin
clrscr;
writeln(j,' firm - ',str.firm);
writeln(' cena- ',str.cost);
writeln(' type - ',str.type);
writeln(' money ');
writeln(' deposit - ',str.client.deposit);
writeln(' procent - ',str.client.proc);
writeln(' ne vipl summa - ',str.client.npaid);
TextColor(15);
readln;
end;
end;
TextColor(15);
writeln(' press any key ');
readln;
end;

Я думаю тут особо копатся в программе не надо, что бы понят как сделать правильно
Надеюсь на вашу помощь
ВЕСЬ КОД ПРОГРАММЫ:
Код
Program felkurs;
uses crt,graph;
type
person =record
proc:byte;
deposit:byte;
npaid:integer;
end;
structure= record
firm:string[25];
cost:integer;
type:string[25];
client:person;
end;
constructions = file of structure;
little = file of byte;
var i,v:byte;
t:constructions;
meter:little;
str:structure;
procedure enter;
label 1,2,3,4,5,6,7;
begin
clrscr;
writeln(' enter type stroeniya');
6:readln(str.type);
if str.type='' then
begin
TextColor(9+111);
writeln(' vi ne vveli type');
writeln;
TextColor(15);
writeln(' poprobuyte vvesti snova');
goto 6;
end;
writeln(' enter ',i,' cost');
7:readln(str.cost);
if str.cost='' then
begin
TextColor(9+111);
writeln(' vi ne vveli cost');
writeln;
TextColor(15);
writeln(' poprobuyte vvesti snova');
goto 7;
end;
writeln(' vvedite firm');
3:readln(str.firm);
if str.firm ='' then
begin
TextColor(9+111);
writeln(' vi ne vveli firm ');
writeln;
TextColor(15);
writeln(' poprobuyte vvesti snova');
goto 3;
end;
writeln(' vvedite client');
1:writeln(' npaid');
readln(str.client.npaid);
if str.client.npaid >=32 then
begin
TextColor(9+111);
writeln(' error of input ');
TextColor(15);
goto 1;
end;
2:writeln(' deposit');
readln(str.client.deposit);
if str.client.deposit >=13 then
begin
TextColor(9+111);
writeln(' error of input ');
TextColor(15);
goto 2;
end;
writeln(' proc');
readln(str.client.proc);
writeln;
TextColor(15);
writeln(' press any key ');
readln;
end;
procedure klient;
begin
i:=1;
rewrite(meter);
write(meter,i);
close(meter);
rewrite(t);
enter;
write(t,str);
close(t);
end;
procedure addition;
begin
reset(meter);
read(meter,i);
close(meter);
i:=i+1;
rewrite(meter);
write(meter,i);
close(meter);
reset(t);
seek(t,filesize(t));
enter;
write(t,str);
close(t);
end;
procedure output;
var m,j,s:integer;
begin
s:=2;
reset(meter);
read(meter,i);
close(meter);
clrscr;
for j:=1 to i do
begin
reset(t);
read(t,str);
TextColor(2);
writeln(j,' firm - ',str.firm);
writeln(' cena- ',str.cost);
writeln(' type - ',str.type);
writeln(' money ');
writeln(' deposit - ',str.client.deposit);
writeln(' procent - ',str.client.proc);
writeln(' ne vipl summa - ',str.client.npaid);
if (j=s) and (s<i) then
begin
writeln;
TextColor(15);
writeln(' next');
TextColor(15);
readkey;
s:=s+2;
m:=i-j-2;
clrscr;
end;
end;
writeln;
TextColor(15);
writeln(' press any key');
readkey;
close(t);
end;
[B]procedure search;
var j,men:integer;
begin
reset(meter);
read(meter,i);
close(meter);
reset(t);
j:=1;
read(t,str);
men:=str.cost;
for j:=2 to i do begin
read(t,str);
if men>deposit.cost then men:=str.client.cost;
end;
close(t);
reset(t);
for j:=1 to i do
begin
read(t,str);
if min=str.cost then
begin
clrscr;
writeln(j,' firm - ',str.firm);
writeln(' cena- ',str.cost);
writeln(' type - ',str.type);
writeln(' money ');
writeln(' deposit - ',str.client.deposit);
writeln(' procent - ',str.client.proc);
writeln(' ne vipl summa - ',str.client.npaid);
TextColor(15);
readln;
end;
end;
TextColor(15);
writeln(' press any key ');
readln;
end;[/B]
procedure searchname;
var client:string;
j,k:integer;
label 1;
begin
reset(meter);
read(meter,i);
close(meter);
clrscr;
TextColor(15);
writeln(' enter client');
TextColor(15);
1: readln(client);
if client='' then
begin
TextColor(9+111);
writeln(' vi ne vveli client');
writeln;
TextColor(15);
writeln(' vvedite snova');
goto 1;
end;
reset(t);
k:=0;
for j:=1 to i do
begin
read(t,str);
if client=str.firm then
begin
k:=k+1;
TextColor(15);
writeln(j,' firm - ',str.firm);
writeln(' cena- ',str.cost);
writeln(' type - ',str.type);
writeln(' money ');
writeln(' deposit - ',str.client.deposit);
writeln(' procent - ',str.client.proc);
writeln(' ne vipl summa - ',str.client.npaid);
writeln('for continue press any key');
readln;
end;
end;
if k=0 then
begin
TextColor(15);
writeln(' isn.t found');
end;
writeln;
TextColor(13);
writeln(' press any key');
readln;
end;
begin
assign(t,'str.to');
assign(meter,'meter.to');
repeat
clrscr;
TextColor(15);
writeln(' choose variant');
TextColor(15);
writeln(' 1-enter new structure');
writeln(' 2-add structure');
writeln(' 3-output all data');
writeln(' 4-search clients deposit < str');
writeln(' 5-search at name of client');
TextColor(15);
writeln(' 6-quit');
readln(v);
case v of
1:receipt;
2:addition;
3:output;
4:search;
5:searchname;
end;
until v=6;
end.
uses crt,graph;
type
person =record
proc:byte;
deposit:byte;
npaid:integer;
end;
structure= record
firm:string[25];
cost:integer;
type:string[25];
client:person;
end;
constructions = file of structure;
little = file of byte;
var i,v:byte;
t:constructions;
meter:little;
str:structure;
procedure enter;
label 1,2,3,4,5,6,7;
begin
clrscr;
writeln(' enter type stroeniya');
6:readln(str.type);
if str.type='' then
begin
TextColor(9+111);
writeln(' vi ne vveli type');
writeln;
TextColor(15);
writeln(' poprobuyte vvesti snova');
goto 6;
end;
writeln(' enter ',i,' cost');
7:readln(str.cost);
if str.cost='' then
begin
TextColor(9+111);
writeln(' vi ne vveli cost');
writeln;
TextColor(15);
writeln(' poprobuyte vvesti snova');
goto 7;
end;
writeln(' vvedite firm');
3:readln(str.firm);
if str.firm ='' then
begin
TextColor(9+111);
writeln(' vi ne vveli firm ');
writeln;
TextColor(15);
writeln(' poprobuyte vvesti snova');
goto 3;
end;
writeln(' vvedite client');
1:writeln(' npaid');
readln(str.client.npaid);
if str.client.npaid >=32 then
begin
TextColor(9+111);
writeln(' error of input ');
TextColor(15);
goto 1;
end;
2:writeln(' deposit');
readln(str.client.deposit);
if str.client.deposit >=13 then
begin
TextColor(9+111);
writeln(' error of input ');
TextColor(15);
goto 2;
end;
writeln(' proc');
readln(str.client.proc);
writeln;
TextColor(15);
writeln(' press any key ');
readln;
end;
procedure klient;
begin
i:=1;
rewrite(meter);
write(meter,i);
close(meter);
rewrite(t);
enter;
write(t,str);
close(t);
end;
procedure addition;
begin
reset(meter);
read(meter,i);
close(meter);
i:=i+1;
rewrite(meter);
write(meter,i);
close(meter);
reset(t);
seek(t,filesize(t));
enter;
write(t,str);
close(t);
end;
procedure output;
var m,j,s:integer;
begin
s:=2;
reset(meter);
read(meter,i);
close(meter);
clrscr;
for j:=1 to i do
begin
reset(t);
read(t,str);
TextColor(2);
writeln(j,' firm - ',str.firm);
writeln(' cena- ',str.cost);
writeln(' type - ',str.type);
writeln(' money ');
writeln(' deposit - ',str.client.deposit);
writeln(' procent - ',str.client.proc);
writeln(' ne vipl summa - ',str.client.npaid);
if (j=s) and (s<i) then
begin
writeln;
TextColor(15);
writeln(' next');
TextColor(15);
readkey;
s:=s+2;
m:=i-j-2;
clrscr;
end;
end;
writeln;
TextColor(15);
writeln(' press any key');
readkey;
close(t);
end;
[B]procedure search;
var j,men:integer;
begin
reset(meter);
read(meter,i);
close(meter);
reset(t);
j:=1;
read(t,str);
men:=str.cost;
for j:=2 to i do begin
read(t,str);
if men>deposit.cost then men:=str.client.cost;
end;
close(t);
reset(t);
for j:=1 to i do
begin
read(t,str);
if min=str.cost then
begin
clrscr;
writeln(j,' firm - ',str.firm);
writeln(' cena- ',str.cost);
writeln(' type - ',str.type);
writeln(' money ');
writeln(' deposit - ',str.client.deposit);
writeln(' procent - ',str.client.proc);
writeln(' ne vipl summa - ',str.client.npaid);
TextColor(15);
readln;
end;
end;
TextColor(15);
writeln(' press any key ');
readln;
end;[/B]
procedure searchname;
var client:string;
j,k:integer;
label 1;
begin
reset(meter);
read(meter,i);
close(meter);
clrscr;
TextColor(15);
writeln(' enter client');
TextColor(15);
1: readln(client);
if client='' then
begin
TextColor(9+111);
writeln(' vi ne vveli client');
writeln;
TextColor(15);
writeln(' vvedite snova');
goto 1;
end;
reset(t);
k:=0;
for j:=1 to i do
begin
read(t,str);
if client=str.firm then
begin
k:=k+1;
TextColor(15);
writeln(j,' firm - ',str.firm);
writeln(' cena- ',str.cost);
writeln(' type - ',str.type);
writeln(' money ');
writeln(' deposit - ',str.client.deposit);
writeln(' procent - ',str.client.proc);
writeln(' ne vipl summa - ',str.client.npaid);
writeln('for continue press any key');
readln;
end;
end;
if k=0 then
begin
TextColor(15);
writeln(' isn.t found');
end;
writeln;
TextColor(13);
writeln(' press any key');
readln;
end;
begin
assign(t,'str.to');
assign(meter,'meter.to');
repeat
clrscr;
TextColor(15);
writeln(' choose variant');
TextColor(15);
writeln(' 1-enter new structure');
writeln(' 2-add structure');
writeln(' 3-output all data');
writeln(' 4-search clients deposit < str');
writeln(' 5-search at name of client');
TextColor(15);
writeln(' 6-quit');
readln(v);
case v of
1:receipt;
2:addition;
3:output;
4:search;
5:searchname;
end;
until v=6;
end.