Banco

Enunciado

Se desea construir una aplicación que ayude a mejorar la atención a los clientes de un banco. El banco puede tener varias cajas, donde cada una atiende un tipo de transacción especifico. Las transacciones manejadas por el banco son: consignación, retiro y pago de servicios.

La aplicación debe permitir:

1. Agregar una caja al banco, para agregar la caja se debe conocer su identificador, la cantidad de dinero con la que inicia la caja y el tipo de transacción que va a atender.
2. Eliminar una caja dado su identificador. Para eliminarla se debe revisar que no tenga clientes por atender.
3. Agregar un cliente, para agregar el cliente se debe conocer su identificador y el tipo de transacción que el cliente desea realizar, y el sistema lo asignara en la caja que atienda el tipo de transacción y en la cual el tiempo de espera del cliente para ser atendido sea el menor.
4. Buscar un cliente dado su identificador.
5. Despachar un cliente, el cliente será despachado una vez haya realizado la transacción deseada.
6. Imprimir un reporte con la información de las cajas del banco, se debe informar el tipo de transacción atendida por cada caja, monto inicial de dinero de cada caja, el monto actual de dinero, el número de clientes atendidos por cada caja y el número de clientes que faltan por atender al momento de generar el reporte.

El reporte debe tener el siguiente formato:

 

Reporte Banco Cupi2

========================================================================

Caja <número de caja >

Transacciones Atendidas <Tipo Transacción>

Dinero Inicial: $ <Dinero Inicial>

Dinero Final: $ <Dinero Final>

Número de clientes atendidos: <Clientes atendidos>

Número de clientes por atender: <Clientes por atender>

========================================================================

 

 

Ejemplo:

 

Reporte Banco Cupi2

========================================================================

Caja 1

Transacciones Atendidas: Retiro

Dinero Inicial: $300000

Dinero Final: $10000

Número de clientes atendidos: 5

Número de clientes por atender: 3

========================================================================

Caja 2

Transacciones Atendidas: Consignación

Dinero Inicial: $250000

Dinero Final: $950000

Número de clientes atendidos: 4

Número de clientes por atender: 2

========================================================================

Caja 3

Transacciones Atendidas: Pago Servicio

Dinero Inicial: $100000

Dinero Final: $100000

Número de clientes atendidos: 0

Número de clientes por atender: 1

========================================================================

Caja 4

Transacciones Atendidas: Retiro

Dinero Inicial: $500000

Dinero Final: $250000

Número de clientes atendidos: 3

Número de clientes por atender: 2

========================================================================

 


La aplicación debe hacer persistente su estado. Esto quiere decir que si se cierra la aplicación, esta no debe perder los datos consignados hasta el momento y debe mostrarlos cuando se abra de nuevo. Tal proceso debe ser automático y transparente para el usuario de la aplicación.

Interfaz

n9 banco 1

 

n9 banco 2                                        n9 banco 3

 

n9 banco 4