Controla el contenido productos en una bodega

pascal:
{-Victor De la Rocha}
{-Algoritmia@groups.msn.com}
{-www.myalgorithm.com}
{Programa que lee mercancias; su precio, cantidad
y hace informes}

uses
 crt;
const
 max=100;
type
 item=record
   articulo:string;
   precio:real;
   cantidad:integer;
  end;
 datos=array [1..max] of item;
var
 inventario:datos;
 opc,cantidad,c:integer;
 res:string[1];

{funcion que centra el titulo en la pantalla}
function titulo(titulo:string):integer;
 begin
  gotoxy(Trunc((80/2)-(length(titulo)/2)),1);Write(titulo);
 end;
begin
 {inicializo las variables}
 cantidad:=1;
 repeat
  ClrScr;
  {imprimo el titulo del menu}
  titulo('Inventario de articulos');
  writeln;
  writeln;
  {imprimo el menu}
  Writeln('  1.-Agregar producto');
  Writeln('  2.-Reporte de existencias');
  Writeln('  3.-Salir');
  {pido la opcion del menu}
  writeln;
  {insistir en que introdusca una opcion existente y correcta}
  Write('   -> Opcion: ');Readln(opc);
  case opc of
   1:{introducir productos}
    begin
     for cantidad:=cantidad to max do
      begin
       ClrScr;
       titulo('Agregar productos');
       writeln;
       writeln;
       write(' -Producto ',cantidad,': ');
        readln(inventario[cantidad].articulo);
       write(' -Precio: ');
        readln(inventario[cantidad].precio);
       write(' -Cantidad: ');
        readln(inventario[cantidad].cantidad);
       writeln;
       Write('¨Desea introducir otro producto? s/n: ');
        Readln(res);
        {si no, saco del ciclo}
       if (res='n') OR (res='N') then break;

      end;{Fin de introducir productor ciclo}
    end;{Fin de opcion 2}
   2:{Reporte de productos}
    begin
     ClrScr;
     titulo('Reporte de productos');
     writeln;
     writeln;
      for c:=1 to cantidad do
       begin
        writeln('Producto',c,': ',inventario[c].articulo);
        writeln('  Precio: $',inventario[c].precio:0:2);
        writeln('  Cantidad: ',inventario[c].cantidad);
        writeln;
       end;{ciclo de impresion}
     ReadKey;
    end;{fin de opcion 2 reporte de productos}
  end;{case}
 until opc=3;
end.

1.- Agregar 2.- Reporte 3.- Salir Opcion: 1_ Producto 1: Papel(100 hojas) Precio: $ 50 Cantidad: 50 Deseas agregar otro producto s/n: s_ Producto 2: Lapiz(HB) Precio: $ 2.5 Cantidad: 300 Deseas agregar otro producto s/n: n 1.- Agregar 2.- Reporte 3.- Salir Opcion: 2_ Papel(100 hojas), Precio $50, Cantidad 50. Lapiz(HB), Precio $2.5, Cantidad 300.
¿Ya le viste algún error? Dejanos tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress elimina los tags HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios.

Otro punto antes de comentar, Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

De esta manera el código sale coloreado.

Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el último párrafo.

Para poner los símbolos de las librerías sin que desaparezcan, debes escribir los símbolos de mayor > y menor qué < con su entidad HTML correspondiente, así como el símbolo de &

Mis Algoritmos se reserva el derecho de alterar, publicar o no los comentarios así como cambiar estas reglas de uso.

Si estas de acuerdo, adelante puedes comentar :)

P.D. No le hago tareas a nadie, mejor hagan la mía :P