elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Algoritmo en C con acción
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Algoritmo en C con acción  (Leído 601 veces)
Javaniano

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Algoritmo en C con acción
« en: 19 Noviembre 2013, 14:10 »

Un supermercado que hace reparto a domicilio dispone de una secuencia de datos para llevar el control de los pedidos . Cada pedido tiene una secuencia con el siguiente formato:

< idProd1 quantity1 price1 fridge1 idProd2 quantity2 price2 fridge2 . .. idProdn quantityn prices fridgen END > , donde:

• idProdi es un entero positivo de 5 dígitos que representa el código del producto
• Price es un real que indica el precio del producto
• Cantidad es un entero positivo que representa el número de elementos de este producto
• fridgen es un carácter con el valor 'S' si este producto necesita nevera, 'N' contrario
• 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 un pedido que entrarán por el canal estándar , se nos pide que diseñamos una acción que calcule el precio final del pedido sabiendo que :

• El precio del reparto depende del precio final del pedido : Si el precio total es menor a 70 euros el reparto tiene un coste adicional de 6 euros , sino si el precio total es mayor o igual a 70 euros y menor a 120 euros el coste del reparto es de 4 euros . En caso de que el precio sea superior a 120 euros , el reparto es gratuito .
• Algunos productos tienen una oferta especial : comprando dos , el segundo tiene un 50 % de descuento . Estos productos están señalados mediante el identificador de producto : si empieza con el dígito 9 .

Se debe imprimir por pantalla el precio final del pedido ( con los descuentos y el coste de reparto incluidos) , el coste del reparto y el total de descuentos obtenidos .

Lo del precio lo hago:

si (subtotal<70) llavors
   rep = 6.0;
fsi
   si (subtotal>=70 i <120) llavors
      rep = 4.0;
   sino
      rep=0.0;
   fsi 


¿cómo haríais lo del descuento?

GRACIAS


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Algoritmo en C con acción
« Respuesta #1 en: 19 Noviembre 2013, 18:12 »

Para conocer si el numero (id del producto) termina en 9 puedes utilizar el operador de modulo.

El calculo del descuento depende de si este aplica solo al segundo o por pares.

* Si aplica solo al segundo verificas si el numero de unidades es mayor o igual a dos, si eso sucede al costo total le restas ".5 * precio_unitario".

* Si aplica por pares (por ejemplo compras cinco artículos con el descuento aplicando a dos de ellos) debes utilizar:
Código:
descuento = (cantidad / 2) * .5 * precio_unitario
Donde "cantidad / 2" es una división entera (los decimales se descartan).

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines