
29/01/2012, 10:07
|
 | | | Fecha de Ingreso: junio-2011 Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 8 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. |