Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/01/2012, 10:07
Avatar de cuasatar
cuasatar
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Problema con cajero automático

Por el ejercicio que realizas supongo que se tratara de un trabajo de la universidad. No se si existen limitaciones a la hora de entregar los billetes o no, pero lo primero que estaria por mejorar es averiguar si en verdad existen los billetes. Un cajero de verdad no tiene infinita cantidad de billetes y se deberian descontar cada vez que un usuario hace uso de ellos.

Si el ejercicio no impone ese problema podemos verlo desde otra perspectiva, es una sugerencia que se me ocurre:

Si por decir algo la cantidad a entregar son 320 euros se deberia hacer un recorrido del valor del mayor billete al menor e ir dividiendo. Si el valor de la división de la parte entera es 0 lo que sea significa que no se puede entregar el valor en billetes.

ejemplo:

320/500=0.64 siguiente
320/100=3.2. Coges la parte entera 3 y lo multiplicas por 3*100=300
usando la función modulo recoges el resto y sigues iterando por abajo
20/50=0.4 siguiente
20/20=1 coges la parte entera y revisas nuevamente el modulo de la operación, como da cero se da por finalizado y ya se puede terminar.

Eso es lo que se debe hacer siempre. Se debe tener igual en cuenta los casos en que no se puede entregar los billetes

ejemplo 263 euros, en ese caso se le debe advertir al usuario que no es posible entregar esta cantidad porque no se tienen billetes disponibles.

Espero hayas entendido la dinámica del ejemplo y lo programes. Creo que no es muy complicado.
__________________
Blog de humor http://elcuasatar.net63.net/