Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ramoncarri en 1 Mayo 2013, 14:24 pm



Título: ayuda con este ejercicio please
Publicado por: ramoncarri en 1 Mayo 2013, 14:24 pm
Hola,
 
Necesito ayuda con este ejercicio que no se por donde pillarlo, lo adjunto a continuación,
 
gracias, un saludo.
______________________
 
La cadena de tiendas de bricolaje dispone de una secuencia de datos para llevar el control de las ventas. La secuencia tiene el siguiente formato:
 
<idProd1 price1 section1 disc1 idProd1 price1 section1 disc1 ... idProd1 price1 section1 disc1
END>
donde:

- idProdi es un entero positivo que representa el código del producto.
- pricei es un real que indica el precio del producto sin descuento.-
- sectioni es un carácter que indica si el producto es de jardinería (J), ferretería (F), materiales de construcción (C) u hogar y decoración (D).
- disci es un entero que indica el tanto por ciento de descuento que tiene el producto.
- END es la marca final de secuencia y vale -1.

Nos dicen que cada código de producto aparecerá sólo una vez en la secuencia y que una secuencia contendrá, como mínimo, la marca final.

Partiendo de una secuencia con los datos de ventas que entrarán por el canal estándar, se nos pide que diseñamos un algoritmo que haga lo siguiente:
       1. Indicar si la facturación de productos de jardinería supera la facturación de productos de hogar y decoración mostrando el carácter 'ES' por pantalla si es así o 'N' en caso contrario (asumimos que no se producirá nunca un empate).
       2. Imprimir por pantalla el código del producto más caro (con descuento incluido), de la sección con más facturación, siempre que éste supere los 100 €. Si no se da el caso, hay que escribir -1.

Por ejemplo, si tenemos la secuencia siguiente
<25 50.0 J 0 53 35.95 J 0 21 13:50 J 10 11 23.95 D 0 15 119.95 D 0 END>
 
El resultado sería: <N 15>

es decir, la facturación de productos de hogar y decoración supera la facturación de productos de jardinería. Además, los productos facturados de la sección de hogar y decoración, el producto 15 es el que tiene un precio final más elevado (119.95 euros).


Título: Re: ayuda con este ejercicio please
Publicado por: gorystyle en 1 Mayo 2013, 16:48 pm
a la cabeza me llega esta idea:
dentro de un ciclo vas pidiendo los valores
int
float
char
int

de cada dato y vas leyendo siempre y cuando el usuario no coloque -1.. debes tener acumuladores para cada tipo de facturacion(jardineria,ferreteria,hogar y decoracion) para comparar al final y dar la primera respuesta... para lo otro cada producto tambien debe tener contador que al aparecer en venta lo incrementas claro cumpliendo la condicion de que su precio sea mayor de 100


Título: Re: ayuda con este ejercicio please
Publicado por: durasno en 1 Mayo 2013, 18:59 pm
HOla! necesitas declarar una estructura con esos datos. Luego declarando un arreglo de estructuras ingresar mediante un bucle los datos, mientras el codigo del producto sea distinto de -1(END)
Para el punto 1, tenes q recorrer el arreglo e ir sumando la facturacion de productos de jardineria y los de hogar(por separado). Luego comparar esas sumas e imprimir lo que corresponde
El punto 2 es casi lo mismo, recorrer el arreglo y comparar, en este caso uno por uno, el producto mas caro


Saludos