SoloCodigo

Programación General => Pascal => Mensaje iniciado por: davidcarceo en Jueves 14 de Noviembre de 2002, 19:17

Título: Re: Convertir un número decimal a monedas
Publicado por: davidcarceo en Jueves 14 de Noviembre de 2002, 19:17
NECESITO URGENTEMENTE SU AYUDA:

NO SE LAS VOY A HACERE LARGA, ESTE ES EL PROBLEMA:

UNO DE MIS TRABAJOS PARA ENTREGAR ES EL DE UN SIMULADOR DE UNA MAQUINA PARA DULCES, EL CUAL ESTOY APUNTO DE TERMINAR, SOLO TENGO UN PEQUEÑO PROBLEMA QUE POR MAS QUE PIENSO NO PUEDO RESOLVER...

AL MOMENTO DE ENTREGAR EL CAMBIO POR EJEMPLO:

EL USUARIO HA RECIBIDO SU ARTICULO Y LE SOBRAN $16.50 (O CUALQUIER OTRA CANTIDAD)

HASTA AHI TODO BIEN, PERO EL PROBLEMA ES QUE EL CAMBIO SOLO LO PUEDO DAR CON MONEDAS DE:

$0.50, $1.00, $2.00, $5.00, $10.00 y de $20.00

que algoritmo podria usar para que me dividiera de la mejor manera el cambio en las monedas anteriores??
Título: Convertir un número decimal a monedas
Publicado por: lamierdalasole en Domingo 24 de Noviembre de 2002, 12:20
Hola, David. En vez de escribirte el algoritmo, te diré lo que haría yo (y que creo que lo usé para una simulacion de no-recuerdo-que-maquina). Verdad que te interesa dar el cambio con las monedas mas valiosas posibles ? Pues miraria, del cambio que tengo que dar, cuantas monedas puedo dar de cada una, empezando por las de mayor valor.

O sea, algo asi:

Cambio: 16.50$

Moneda 20$ --> 0 monedas (el cambio no llega a 20$)

Moneda 10$ --> 1 moneda --> Cambio restante 6.50$

Moneda 5$ --> 1 moneda --> Cambio restante 1.50$

Moneda 2$ --> 0 monedas.

Moneda 1$ --> 1 moneda --> Cambio: 0.5$

Moneda 0.5$ --> 1 moneda --> Cambio restante: 0$

Entiendes por donde voy ?
Para hacerlo bien, yo meteria las monedas en un vector (ordenadas segun el valor), y lo haría con un bucle hasta que el cambio restante sea 0 o inferior a
la moneda mas pequeña.
Si no lo acabas de entender, preguntame.

Un saludote !!