ETSISI - DPTO. SI
PROGRAMACIN ORIENTADA A OBJETOS
Curso 2015-2016 Grupo GM22
Prctica 13
Parte 1
Un supermercado desea implementar un programa Java que permita cobrar a los clientes las compras realizadas y
registrar los pagos efectuados por los clientes en la caja registradora. La caja registradora cobrar pagos de clientes
durante todo el da y al finalizar el da se generar un informe con las ventas realizadas ese da.
Los clientes pueden efectuar el pago de su compra en efectivo o con tarjeta.
Al realizar un pago de la compra en efectivo, la caja incrementar las ganancias en la cantidad del pago que efecta el
cliente, generar el tique correspondiente y registrar ese pago con la informacin del importe, la cantidad que
entrega el cliente y la que se le devuelve.
Al realizar un pago de la compra con tarjeta, la caja incrementar las ganancias en la cantidad del pago que efecta el
cliente, generar el tique correspondiente y registrar ese pago con la informacin del importe nmero de tarjeta.
Tanto si el pago se realiza con tarjeta como si se realiza en efectivo, el cajero mostrar en pantalla la operacin que se
va a realizar y preguntar al cliente si desea confirmar la operacin o no, y solo la registrar en caso de que esta sea
confirmada por el cliente.
El informe de ventas que se realizar al final de cada da contendr el total de ganancias de ese da y las operaciones
realizadas en el mismo orden que se hayan ido produciendo
Escribir un proyecto Java que permita llevar a cabo las operaciones descritas anteriormente. Para ello se
implementarn las siguientes clases:
Caja, Informe, Pago, PagoTarjeta, PagoEfectivo, Gestion y Principal
La clase Caja se ocupar de cobrar los importes y generar los pagos correspondientes
La clase Gestion se ocupar de que la caja cobre cada una de las operaciones del da y al finalizar se genere el informe
correspondiente a ese da.
La clase Informe simplemente mostrar en pantalla un informe con los datos de los pagos de ese da.
La clase Pago y sus derivadas tendrn los datos correspondientes a cada pago, el importe y el nmero de tarjeta para
el pago con tarjeta o el importe y las cantidades entregadas y vuelta para el cobro en efectivo.
Ejemplo de ejecucin:
Introducir la fecha
18-12-2015
Introduce el importe de la compra
68
Modo de pago? Tarjeta/T Efectivo/E
T
Introduce el numero de la tarjeta
222222
El importe es: 68.0
Confirma S/N?
S
------------------------------------Tique correspondiente a esta compra
Parte 2
Modificar las clases anteriores para que ahora la gestin se realice mensualmente y los informes se guarden en un
fichero de texto. Se proceder como en el apartado anterior pero para cada uno de los das de apertura de un mes y
para cada da se generar un informe como en el apartado anterior, pero ahora los informes se irn guardando en un
fichero de texto.
Ejemplo de ejecucin:
Introducir el mes
enero
Introducir el nmero de dias abiertos del mes
2
------------------------------------pagos correspondientes al dia 0 del mes enero
Introduce el importe de la compra
320
Modo de pago? Tarjeta/T Efectivo/E
T