Saludos Paula , ahí va una posible forma de desarrollar tu programa , claro que el programa no está terminado , deberias ser capaz de desarrollar tu misma el programa con los datos que te envio , Seguro que hay otras muchas formas de hacerlo mas profesional con una base de datos el uso de teclado y raton.
pero eso se haria si tu fueras la dueña de la farmacia. jo,jo,jo.
- Si copias este texto a un fichero de texto ,y le pones un nombre con la estension a .PAS podrás cargarlo con el E.I.D de pascal y lo verás mucho mejor.
Saludos y espero que te sirva lo siguiente que te envio , si tienes cualquier duda posteala.
_______________________________________________________________
uses crt;
type Xcategoria=array [1..26]of byte; { cambiar a char si se desea letra }
type Xcodigo_barra=array[1..3]of byte; { representamos con 3 digitos }
const max_productos=5; { para probar el programa }
{ recordar cambair a 500 }
type Xfarmacia=record
p_nombre:string; { nombre del producto }
p_en_stock:integer; { stock minimo del producto }
p_cantidad:integer; { cantidad actual del producto }
p_precio:longint; { precio actual del producto }
p_categoria:Xcategoria; { categoria del producto }
{ mediante letra o numero mirar Xcategoria }
p_codigo_barra:Xcodigo_barra; { representado por 3 digitos }
{ se puede cambiar mirar Xcodigo_barras }
end;
var farmacia:array[1..max_productos]of Xfarmacia;
{ farmacia registro al que hacremos referencia ejemplo
farmacia[1].p_nombre
farmacia[2].p_nombre
}
{ fichero para guardar los registros de tipo farmacia }
var fichero:file of Xfarmacia;
impresora:text;
var informativo:integer;
begin
assign(fichero,'farmacia.dat');
assign(impresora,'LST'); { mirar tambien Unit Printer o asociarlo a LPT1 }
clrscr;
informativo:=(sizeof(xfarmacia));
writeln ('cada registro ocuparia :',informativo, ' bytes' );
informativo:=informativo*500;
write ('todo el array :', informativo ,' bytes ' );
informativo:=informativo div 1024;
writeln('o sea ',informativo, 'KB de RAM');
{
aqui vendria la logica del programa ,
- cargar 500 registros a mano.
- guardarlos en fichero para no tener que volver aintroducir datos
- volver a abrir el fichero
- cargar los datos en la matriz
- recorrer la matriz buscando lo que nos piden
- imprimir datos y codigo de barras
}
readln;
end.