держи...
Исходный код
program baza; {$i-}
{ђ §¤Ґ« ®ЇЁб Ё©}
uses crt;
const r=100;
q=10;
type buhalt=record
naim_tovar:string[12];
price:integer;
end;
dinam_massiv=array[1..r] of buhalt;
pro=^dinam_massiv;
var n:integer;
list:pro;
answer:char;
f:boolean;
price,sum:Integer;
{‚ў®¤ ¤ л©}
procedure input_baza(var list:pro;var n:integer);
var i,z:integer;
w:char;
begin
clrscr;
write('‚ўҐ¤ЁвҐ зЁб«® § ЇЁбҐ© ¤«п ¤®Ў ў«ҐЁп <= ',r-n ,' : ');
readln(z);
if ioresult<>0 then exit;
for i:=n+1 to n+z do
with list^[i] do
begin
clrscr;
write('‚ўҐ¤ЁвҐ Ё¬Ґ®ў ЁҐ в®ў а : '); readln(naim_tovar);
write('‚ўҐ¤ЁвҐ жҐг в®ў а (агЎ.): '); readln(price);
sum:=sum+price;
if i<>n+z then
begin
write('‚ў®¤Ёвм ҐйҐ y/n');
w:=readkey;
end;
if (w='n') or (i=z+n) then
begin
z:=i;
break;
end;
end;
if z<>0 then
n:=z;
writeln;
writeln('‡ ЇЁбм ¤®Ў ў«Ґ ў Ў §г. Ќ ¦¬ЁвҐ «оЎго Є« ўЁиг');
readkey;
end;
{‚лў®¤ ¤ ле}
procedure output_baza(var list:pro;var n:integer);
var
i,k,pos:integer;
f:boolean ;
begin
clrscr;
if n=0 then
begin
writeln('Ѓ § Їгбв ');
readkey;
exit;
end;
f:=false; pos:=1;
repeat
clrscr;
k:=0;
writeln(' ЙННННННННННННННННННННННСНННННННННННННННН
НННН»');
writeln(' є Ќ Ё¬Ґ®ў ЁҐ в®ў а і –Ґ в®ў а (агЎ.) є');
writeln(' ИННННННННННННННННННННННПНННННННННННННННН
ННННј');
for i:=pos to n do
with list^[i] do
begin
writeln(' ',naim_tovar:12,' ',price:6);
k:=k+1;
if k=q then
begin
pos:=i+1;
break;
end;
writeln(' ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
ДДД ');
end;
writeln(' ЋЎй п жҐ в®ў а (агЎ.)',' ',sum);
readkey;
if (k<q) or (pos>n) then
f:=true;
until f;
end;
{ѓ®«®ў®© ¬®¤г«м}
begin
new(list);
f:=false;
repeat
clrscr;
writeln('0 - ‚л室');
writeln('1 - „®Ў ў«ҐЁҐ ¤ ле');
writeln('2 - ‚лў®¤ Ў §л');
answer:=readkey;
case answer of '0': f:=true;
'1': input_baza(list,n);
'2': output_baza(list,n);
else
begin
writeln('ЋиЁЎЄ ! „«п Їа®¤®«¦ҐЁп ¦¬ЁвҐ «оЎго Є« ўЁиг');
readkey
end;
end;
until f;
dispose(list);
end.