[ Foro de Pascal ]

duda con ejercicio - cesta de la compra

20-Jan-2015 20:26
Invitado (Josito)
1 Respuestas

Añada al programa de la actividad anterior, un procedimiento (mostrar_producto) que reciba un producto de la cesta de la compra como parámetro y lo muestre por pantalla.
Añada al programa de la actividad anterior un procedimiento (mostrar_cesta) que reciba una cesta de la compra como parámetro y muestre por pantalla todos los productos que están en la cesta (es decir aquellos en los que en_cesta=TRUE). UTILICE EL PROCEDIMIENTO DE LA CUESTIÓN ANTERIOR Y RECUERDE UTILIZAR LOS PROCEDIMIENTOS DE LAS ACTIVIDADES ANTERIORES ALLÍ DONDE PUEDA HACERLO.
Hasta ahora hice lo siguiente:


Program EJERCICIO;

Const
    tammaxcesta=3;

Type
    producto=record
       nombre:string;
       num_unidades:integer;
       precio_unidad:real;
       en_cesta:boolean;
    end;
    Tcesta = array [0..tammaxcesta] of producto;

Var
    detalle:producto;
    micesta:Tcesta;

Procedure lee_producto (VAR detalle:producto);
 Begin
    detalle.en_cesta:=true;
    write('Introduzca el nombre del producto: ');
    readln(detalle.nombre);
    write('Introduzca el numero de unidades: ');
    readln(detalle.num_unidades);
    write('Introduzca el precio por unidad: ');
    readln(detalle.precio_unidad);
 End;

Procedure escribe_producto (detalle:producto);
 Begin
    writeln;
    writeln('Nombre: ',detalle.nombre);
    writeln('Unidades: ',detalle.num_unidades);
    writeln('Precio unidad: ',detalle.precio_unidad:0:2);
    writeln;
 End;
 
Procedure inicializa_cesta (micesta: Tcesta);  
var
    i:integer;
Begin
 for i:= 1 to TAMMAXCESTA do
  begin
    micesta [i]. en_cesta := false;
    micesta [i]. nombre := '';
    micesta [i]. num_unidades:= 0;
    micesta [i]. precio_unidad:= 0.0;
  end;
end;

Procedure mostrar_producto (detalle:producto);


 (*** PROGRAMA PRINCIPAL ***)
BEGIN
    lee_producto(detalle);
    escribe_producto(detalle);
    readln;
    inicializa_cesta(micesta);
END.


23-Jan-2015 11:06
Nacho Cabanes (+84)

¿La duda cual es?  ¿El procedimiento mostrar_cesta?

Si es así, como ya tienes un "escribe_producto", es posible que baste con recorrer todos los datos con un "for", como ya haces en "inicializa_cesta", y decir en ese "for" que te escriba los datos del correspondiente producto.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)