Pascal/Turbo Pascal - Ayuda con un inventario

 
Vista:

Ayuda con un inventario

Publicado por Roxana (1 intervención) el 25/07/2011 16:15:17
Hola bueno dias, necesito que me ayuden a detectar y corregir los errores de mi programa,
hasta ahora solo he aprendido sentencias básicas para realizar un inventario de un supermercado x, solo lo realice para 5 productos, necesito colocar inventario de los productos que hay en el almacen, facturación y reporte de existencia de cada producto.

Program proyecto;
uses crt;

Var Nombre,Direccion,RIF:string;
Fecha,i,opc,cantidad:integer;
Producto:array [1..15] of string[8];
descripcion:array [1..15] of string[20];
Precio:array [1..15] of real;
Cantproducto:array [1..15] of integer;
Cantexistente:array [1..15] of integer;
Cantotalproducto:array [1..15] of integer;
Cantotal:array [1..15] of real;
T,TG,IVA,TP,tcant,Tprecio,descuento:real;


begin

repeat ClrScr;

Gotoxy (30,2); Write('Menu');
Gotoxy (3,3); Write(' 1.-Inventario');
Gotoxy (3,5); Write(' 2.-Factura');
Gotoxy (3,7); Write(' 3.-Reporte de existencias');
Gotoxy (3,12); Write('Escriba el n£mero de la opci¢n que desea');
Gotoxy (3,13); Write(' Opcion: -> ');
Gotoxy (15,13);Read(opc);

If (opc=1) then;
Procedure inventario;
begin
for i:=1 to 5 do
begin
ClrScr;
Gotoxy (30,2);Write('Inventario');
Gotoxy(2,4);write('Codigo');
Gotoxy(12,4);write(' Descripcion');
Gotoxy(30,4);write('Cantidad');
Gotoxy(2,5+i);Readln(producto[i]);
Gotoxy(15,5+i);Readln (descripcion[i]);
Gotoxy(30,5+i);Readln(cantotalproducto[i]);
Readln;
end;
end;

If (opc=2) then;
Procedure factura;
Begin
Clrscr;

Gotoxy (28,1);Write('Compania An¢nima XXX');
Gotoxy (60,2); Write('RIF:8166899');
Gotoxy (60,3); Write('Fecha:');
Gotoxy (2,4); Write('Nombre y Apellido:');
Gotoxy (2,5);Write('Direccion:');
Gotoxy (2,6);Write ('Descuento: ');
Gotoxy (67,3);Readln(Fecha);
Gotoxy (20,4);Readln(Nombre);
Gotoxy (12,5);Readln(Direccion);
Gotoxy (12,6);Readln(Descuento);
Gotoxy (37,7);Write('Factura');
End;

Begin
for i:=1 to 5 do

Gotoxy(2,9);write('Codigo');
Gotoxy(12,9);write(' Descripcion');
Gotoxy(30,9);write('Cantidad');
Gotoxy(45,9);write('Precio');
Gotoxy(59,9);writeln('Precio Total');
Gotoxy(2,9+i);Readln(producto[i]);
Gotoxy(15,9+i);Readln (descripcion[i]);
Gotoxy(30,9+i);Readln(cantproducto[i]);
Gotoxy(46,9+i);Readln(precio[i]);
T:= cantproducto[i]*precio[i];
TG:=TG+T;
Gotoxy (62,9+i);writeln (T:6:2);
IVA:=TG*0.12;
TP:=TG-Descuento+IVA;
IVA:=TG*0.12;
gotoxy(59,16);write ('Precio total:',TG:6:2);
gotoxy(59,17);write ('Descuento:',Descuento:6:2);
gotoxy(59,18);write ('IVA:',IVA:6:2);
gotoxy(59,19);write ('Total a pagar:',TP:6:2);
End;

Begin
Gotoxy(2,9+i);Readln(producto[i]);
Gotoxy(15,9+i);Readln (descripcion[i]);
Gotoxy(30,9+i);Readln(cantproducto[i]);
Gotoxy(46,9+i);Readln(precio[i]);
T:= cantproducto[i]*precio[i];
TG:=TG+T;
Gotoxy (62,9+i);writeln (T:6:2);
IVA:=TG*0.12;
TP:=TG-Descuento+IVA;
IVA:=TG*0.12;
gotoxy(59,16);write ('Precio total:',TG:6:2);
gotoxy(59,17);write ('Descuento:',Descuento:6:2);
gotoxy(59,18);write ('IVA:',IVA:6:2);
gotoxy(59,19);write ('Total a pagar:',TP:6:2);
end;

If opc=3 then;
Procedure reporte;
Begin
Gotoxy(30,2);write(' REPORTE DE EXISTENCIA');
Gotoxy(2,4);write('Codigo');
Gotoxy(12,4);write(' Descripcion');
Gotoxy(30,4);write('Cantidad');
Gotoxy(2,5+i);Readln(producto[i]);
Gotoxy(15,5+i);Readln (descripcion[i]);
Gotoxy(30,5+i);write(cantexistente[i]);
Cantexistente[i]:=Cantotalproducto[i]-cantproducto[i];
end;

else
begin
writeln('Opcion Invalida');
Readln;
end;
end;
Begin
Inventario;
Factura;
Reporte;
end.




--------------------------------------------------------------------------------

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con un inventario

Publicado por ramon (2158 intervenciones) el 25/07/2011 18:28:18
{Compara y veras las formas cambiadas el programa funciona pero te quedan retoques si tienes
dificultad dímelas y te ayudare a resolverlas }

Program proyecto;
uses
crt;

Var
Nombre,Direccion,RIF:string;
Fecha,i,opc,cantidad:integer;
Producto:array [1..5] of string[8];
descripcion:array [1..5] of string[20];
Precio:array [1..5] of real;
Cantproducto:array [1..5] of integer;
Cantexistente:array [1..5] of integer;
Cantotalproducto:array [1..5] of integer;
Cantotal:array [1..5] of real;
T,TG,IVA,TP,tcant,Tprecio,descuento:real;

Procedure inventario;
begin
ClrScr;
Gotoxy (30,2);Write('Inventario');
Gotoxy(2,4);write('Codigo');
Gotoxy(12,4);write('Descripcion');
Gotoxy(30,4);write('Cantidad');
gotoxy(2,5);
for i := 1 to 5 do
begin
Gotoxy(2,4 + i);Read(producto[i]);
Gotoxy(15,4 + i);Read(descripcion[i]);
Gotoxy(30,4 + i);Read(cantotalproducto[i]);
end;
end;

Procedure factura;
Begin
Clrscr;
Gotoxy (28,1);Write('Compania An¢nima XXX');
Gotoxy (60,2); Write('RIF:8166899');
Gotoxy (60,3); Write('Fecha:');
Gotoxy (2,4); Write('Nombre y Apellido:');
Gotoxy (2,5);Write('Direccion:');
Gotoxy (2,6);Write ('Descuento: ');
Gotoxy (67,3);Readln(Fecha);
Gotoxy (20,4);Readln(Nombre);
Gotoxy (12,5);Readln(Direccion);
Gotoxy (12,6);Readln(Descuento);
Gotoxy (37,7);Write('Factura');
Gotoxy(2,9);write('Codigo');
Gotoxy(12,9);write(' Descripcion');
Gotoxy(30,9);write('Cantidad');
Gotoxy(45,9);write('Precio');
Gotoxy(59,9);writeln('Precio Total');
for i := 1 to 5 do
Begin
Gotoxy(2,9+i);Readln(producto[i]);
Gotoxy(15,9+i);Readln (descripcion[i]);
Gotoxy(30,9+i);Readln(cantproducto[i]);
Gotoxy(46,9+i);Readln(precio[i]);
T := cantproducto[i] * precio[i];
TG := TG + T;
Gotoxy(62,9 + i);writeln (T:6:2);
End;
IVA := TG * 0.12;
TP := TG - Descuento + IVA;
IVA := TG * 0.12;
gotoxy(59,16);write ('Precio total:',TG:6:2);
gotoxy(59,17);write ('Descuento:',Descuento:6:2);
gotoxy(59,18);write ('IVA:',IVA:6:2);
gotoxy(59,19);write ('Total a pagar:',TP:6:2);
end;

Procedure reporte;
Begin
Gotoxy(30,2);write(' REPORTE DE EXISTENCIA');
Gotoxy(2,4);write('Codigo');
Gotoxy(12,4);write(' Descripcion');
Gotoxy(30,4);write('Cantidad');
Gotoxy(2,5+i);Readln(producto[i]);
Gotoxy(15,5+i);Readln (descripcion[i]);
Gotoxy(30,5+i);write(cantexistente[i]);
Cantexistente[i]:=Cantotalproducto[i]-cantproducto[i];
end;

procedure menu;
begin
ClrScr;
repeat
Gotoxy(30,2);Write('Menu');
Gotoxy(3,3);Write(' 1.-Inventario');
Gotoxy(3,5);Write(' 2.-Factura');
Gotoxy(3,7);Write(' 3.-Reporte de existencias');
gotoxy(3,9);write(' 4.-Salir');
Gotoxy (3,12); Write('Escriba el n£mero de la opci¢n que desea');
Gotoxy (3,13); Write(' Opcion: -> ');
Gotoxy (15,13);Read(opc);
if opc in[1,2,3,4] then
begin
If opc = 1 then
inventario;
If opc = 2 then
factura;
If opc = 3 then
reporte;
end
else
begin
writeln('Opcion Invalida');
Readln;
end;
until opc = 4;
end;

Begin
menu;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar