[ Foro de C# ]

C# Ejercicio..

08-Nov-2016 16:38
Invitado (PaletoKlein)
1 Respuestas

Tengo un ejercicio de clase(clases a distancia), donde el profesor ayuda lo más mínimo.
Este es el enunciado:
El abuelo de Quique es el dueño de una tienda en la esquina de mi calle. Este verano ha pedido a su nieto que le ayude encargándose de cobrar. Quique está muy preocupado, porque su abuelo tiene muchas manías. Para empezar no tiene caja registradora, sino que realiza las cuentas de cabeza. Además para agradar a sus clientes les entrega siempre el menor número posible de monedas para que no se les llene el bolsillo.
Como a Quique no se le da muy bien eso de las cuentas, ha decidido llevarse su ordenador sin que se entere su abuelo. Ahora necesita un programa que le calcule cuántas monedas de cada tipo debe dar de cambio.
Entrada
La entrada comienza con un entero que indica el número de casos de prueba que vendrán a continuación. Cada caso consta de dos valores. El primero indica el coste de la compra expresado en céntimos de euro y el segundo el dinero entregado por el cliente, expresado también en céntimos de euro.
Salida
Para cada caso de prueba se indicará en una línea independiente el número de monedas de 2 euros, 1 euro, 50 cts, 20 cts, 10 cts, 5 cts, 2 cts y 1 céntimo que debe entregar Quique al cliente. En caso de que el dinero entregado no cubra el coste de la compra se escribirá en la salida DEBE seguido de la cantidad que queda por pagar.

Me sé la sintaxis del programa, los comandos, las variables, pero en la practica fallo un huevo, no se como expresar este problema en un Switch/case o en un else if... necesito ayuda, comprensión..


27-Nov-2016 11:28
Nacho Cabanes (+83)

La solución depende de lo que sepas hacer. Para dar la menor cantidad de monedas posible, basta empezar por las de mayor valor, y dar tantas como sea posible, pasar luego a las de segundo mayor valor y así sucesivamente. Por tanto, se puede hacer con varios "while" o se puede simplificar con un "array".






(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.)