no encuentro el error
Publicado por usuaria (27 intervenciones) el 02/11/2006 00:37:01
Holas, primero quiero agradecer a todos los usuarios del foro que siempre ayudan..la verdad q no se q haria sin ustedes :) !..y ahora les planteo mi problem...intento hacer el siguiente programa la carga la hce bien pero cuando quiero calcular importetotal ahi muere. si alguien encuentra la falla grax!!! :)
Program Articulos;
Uses
crt;
Const
MAX_ART=40;
MAX_DIAS=6;
Type
tArticulo= Record
cantidad:integer;
importe:real;
End;
Trango=1..max_dias;
Trango2=1..max_art;
Tmatriz= array [trango,trango2] of tArticulo;
Tdias= array [trango] of real;
Procedure Carga (Var listado:tmatriz);
Var
articulo:tarticulo;
i,j:integer;
opcion:char;
Begin
opcion:= 's';
While (opcion='s') do
Begin
Writeln ('Nº Articulo: ');
Readln (i);
Writeln ('Dia: ');
Readln (j);
Writeln ('Cantidad: ');
Readln (articulo.cantidad);
Writeln ('Importe: ');
Readln (articulo.importe);
listado[i,j]:=articulo;
Writeln ('Otro Articulo? s/n: ');
Readln (opcion);
End;
End;
{Procedure Imprimir (listado:tmatriz);
Var
i,j:integer;
Begin
For i:=1 to Max_Dias do
Begin
For j:=1 to Max_Art do
Begin
write ('Dia',i);
write ('Articulo',j);
write (listado[i,j].cantidad:5);
write (listado[i,j].importe:5);
End;
writeln;
end;
End; }
Procedure ImporteTotal (Var vec_importe:tdias;listado:tmatriz);
Var
i:trango2;
j:trango;
importetotal:real;
Begin
write ('imp');
importetotal:=0;
For j:=1 to Max_Dias do
Begin
For i:=1 to Max_Art do
importetotal:=importetotal+listado[i,j].importe;
vec_importe[j]:=importetotal;
End;
writeln ('import');
End;
{Procedure Intercambio(Var A,B:real);
Var
aux:real;
Begin
aux:=A;
A:=B;
B:=aux;
end;
Procedure Ordenar_Importe (Var vec_importe:tdias);
Var
i,j:integer;
Begin
For i:=1 to Max_Dias do
For j:=1 to Max_dias-i do
If vec_importe[j]>vec_importe[j+1] then
Intercambio(vec_importe[j],vec_importe[j+1]);
End;}
{Procedure ImprimirImporte (vec_importe:tdias);
Var
i:integer;
Begin
ClrScr;
Ordenar_Importe(vec_importe);
For i:=1 to Max_Dias do
Begin
Writeln ('Dia: ',i);
Writeln ('Importe: ',vec_importe[i]);
End;
End;}
{PRINCIPL}
VAR
articulo:tarticulo;
listado:tmatriz;
vec_importe:tdias;
Begin
ClrScr;
Writeln ('EJERCICIO ARTICULOS');
Carga(listado);
{Imprimir(listado);}
writeln ('no');
ImporteTotal (vec_importe,listado);
writeln ('si');{
ImprimirImporte (vec_importe);}
readkey;
End.
Program Articulos;
Uses
crt;
Const
MAX_ART=40;
MAX_DIAS=6;
Type
tArticulo= Record
cantidad:integer;
importe:real;
End;
Trango=1..max_dias;
Trango2=1..max_art;
Tmatriz= array [trango,trango2] of tArticulo;
Tdias= array [trango] of real;
Procedure Carga (Var listado:tmatriz);
Var
articulo:tarticulo;
i,j:integer;
opcion:char;
Begin
opcion:= 's';
While (opcion='s') do
Begin
Writeln ('Nº Articulo: ');
Readln (i);
Writeln ('Dia: ');
Readln (j);
Writeln ('Cantidad: ');
Readln (articulo.cantidad);
Writeln ('Importe: ');
Readln (articulo.importe);
listado[i,j]:=articulo;
Writeln ('Otro Articulo? s/n: ');
Readln (opcion);
End;
End;
{Procedure Imprimir (listado:tmatriz);
Var
i,j:integer;
Begin
For i:=1 to Max_Dias do
Begin
For j:=1 to Max_Art do
Begin
write ('Dia',i);
write ('Articulo',j);
write (listado[i,j].cantidad:5);
write (listado[i,j].importe:5);
End;
writeln;
end;
End; }
Procedure ImporteTotal (Var vec_importe:tdias;listado:tmatriz);
Var
i:trango2;
j:trango;
importetotal:real;
Begin
write ('imp');
importetotal:=0;
For j:=1 to Max_Dias do
Begin
For i:=1 to Max_Art do
importetotal:=importetotal+listado[i,j].importe;
vec_importe[j]:=importetotal;
End;
writeln ('import');
End;
{Procedure Intercambio(Var A,B:real);
Var
aux:real;
Begin
aux:=A;
A:=B;
B:=aux;
end;
Procedure Ordenar_Importe (Var vec_importe:tdias);
Var
i,j:integer;
Begin
For i:=1 to Max_Dias do
For j:=1 to Max_dias-i do
If vec_importe[j]>vec_importe[j+1] then
Intercambio(vec_importe[j],vec_importe[j+1]);
End;}
{Procedure ImprimirImporte (vec_importe:tdias);
Var
i:integer;
Begin
ClrScr;
Ordenar_Importe(vec_importe);
For i:=1 to Max_Dias do
Begin
Writeln ('Dia: ',i);
Writeln ('Importe: ',vec_importe[i]);
End;
End;}
{PRINCIPL}
VAR
articulo:tarticulo;
listado:tmatriz;
vec_importe:tdias;
Begin
ClrScr;
Writeln ('EJERCICIO ARTICULOS');
Carga(listado);
{Imprimir(listado);}
writeln ('no');
ImporteTotal (vec_importe,listado);
writeln ('si');{
ImprimirImporte (vec_importe);}
readkey;
End.
Valora esta pregunta


0