Программа осуществляет поиск по введённой фамилии ( во 2:begin) и находит первую запись и выходит из поиска, а мне нужно чтобы поиск осуществлялся до конца.
program lab_9;
uses crt;
label na4;
const mas:array[1..6]ofstring=(
'# Atele: ',
'# Kvitancii: ',
'Data oform zakaza: ',
'Data vida4i zakaza: ',
'FIO Mastera: ',
'Vid izdeliya: ');
var fail:text;
o,zap,i,j,k:integer;
st,stp:string;
v:byte;
begin
assign(fail,'BD.txt');rewrite(fail);close(fail);
zap:=0;
na4:
clrscr;
gotoxy(15,5); write('Dly dobavleniya zapisi v BD vvedite #1#');
gotoxy(15,6);write('Dly poiska po BD vvedite #2#');
gotoxy(15,7);write('Dly prosmotra vsey BD vvedite #3#');
gotoxy(15,8);write('Dly VIHODA iz programmi vvedite #4#');
gotoxy(20,10);textcolor(2);write('Vibor: ');readln(v);
clrscr;
case v of1:begin
append(fail);
writeln('Dly dobavleniya zapisi v BD vvedite:');
for i:=1to6dobeginwrite(mas[i]); readln(st);write(fail,st+'|');
end;
writeln(fail);
close(fail);
writeln('Zapis dobavlena');zap:=zap+1;
end;
2:beginwrite('Vvedite FIO mastera:'); readln(st);
reset(fail);
k:=0;
for i:=1to zap dobegin
readln(fail,stp);
if pos(st,stp)<>0thenbegin k:=1; break end;
end;
if k=0thenbegin
textcolor(4);
writeln('!! Takoy zapisi net!!');
endelsebegin
i:=1;
delete(st,1,100);
for j:=1to6dobeginwhile stp[i]<>'|'dobegin
st:=st+stp[i];
i:=i+1;
end;
writeln(mas[k]+st);k:=k+1;
delete(st,1,100);
i:=i+1end;
end;
close(fail);
end;
3:begin
reset(fail);
delete(st,1,100);
for o:=1to zap dobegin
writeln('Pokazat',o,'-yu zapis');readkey;
readln(fail,stp);
i:=1;k:=1;
for j:=1to6dobeginwhile stp[i]<>'|'dobegin
st:=st+stp[i];
i:=i+1;
end;
writeln(mas[k]+st);k:=k+1;
delete(st,1,100);
i:=i+1;
end;
end;
end;
4:exit
end;
write('Dly prodolweniya nawmite na lubuy klaviwy');
readkey;
goto na4;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.