держи...
Исходный код
 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.