Friday, 20 October 2017
Cajero automático
Programada : Cajero automático
Objetivo: El objetivo de esta práctica es que el estudiante repase todos los elementos básicos del lenguaje python visto en clase.

Se realizará en el laboratorio una práctica de un caso de un dispensador de dinero (cajeros automático). Suponga que el cajero es cargado una vez por día con 400 billetes de 10 000, 400 billetes de 5 000 y 400 billetes de 2 000 y 400 de mil colones.

Su programa va ha simular el uso del mismo. Por ejemplo llega el usuario y solicita 12 000, entonces el cajero le entrega un billete de 10 000 y otro de 2000, quedando con 399 billetes de 10 000, 399 de 2 000, 400 de 5000 y 400 de 1000. Luego el usuario le pide otro desembolso, etc. Si ya no hay billetes el cajero debe indicar "transacción cancelada". Si pide más de 200 000 en un dí­a debe indicar " transacción cancelada" y no entregar el dinero. Si pide 14000 y ya no hay billetes de 2000 ni de mil, debe indicar "transacción cancelada".
Además, existe una opción que sólo el administrador del cajero puede usar, la cual pide una clave. Si se introduce la clave, el dispensador indica cuántos de cada denominación billetes le quedan. Cuando sale el administrador de la consulta, vuelve al menú principal.
Para trabajar el cajero utiliza el siguiente menú:
Retiro de dinero, pide clave de cliente.
Consulta administrador, pide clave administrador.
Cuando diseña su programa piense en un módulo de seguridad que guarda la  número cliente y clave de cliente y separado número y la clave del administrador (use tuplas).  Los montos que posee disponibles para los clientes se guardan en una lista.
Cada vez que se ejecuta una transacción es llamado el módulo para verificación de seguridad. Si el cliente o el administrador anota una clave que no es la guardada en el mismo, repite la pregunta dos veces. Si durante ese tiempo no indica la verdadera, el programa se cierra.
Para el caso de retiro piense en un menú rápido de solicitud de dinero con opciones (2 000, 4000, 5000, 7000, 10000, 15000, 20000 y 25000).
Además una opción para indicar otra cantidad.
{backbutton}