Desarrollar un programa que simule la cola de un banco que utiliza un sistema
de turno, para esto debe tener:
• Cuatro arreglos de texto, uno para la cantidad de cajeros, los otros tres para
los clientes (Cola norma, cola 3 edad y embarazadas, cola empresarial).
• Antes de mostrar el primer menú, el programa debe preguntar la cantidad de
cajas que estarán disponibles. Debe validar que el sistema tenga al menos
4 cajas disponibles.
• Al iniciar el programa debe tener el siguiente las opciones siguientes:
Generar turno, Asignar turno a caja, liberar caja, cerrar caja, abrir caja,
resumen y salir. Cada opción debe ser un método del programa.
• Generar turno: este muestra otro mensaje indicando si es turno normal, 3
edad o empresarial. El usuario escoge y el sistema asigna y agrega el turno
a la cola respectiva.
• Asignar turno a caja: este método debe asignar un cliente de las colas a una
caja, para esto, debe tomar en cuenta lo siguiente.
o Antes de asignar caja, debe validar que el número de caja a asignar esté
disponible.
o La cola de la tercera edad tiene prioridad a las demás, debe contar la
cantidad de clientes de la tercera edad que están en caja, si el banco
tiene 4 cajas, solo puede haber 1 de la tercera edad, de 5 a 8, 2 de la
tercera edad, más de 8, tres de la tercera edad en caja. Si hay menos de
la cantidad específica, asignar el siguiente de la tercera edad en la cola.
o Si no se puede asignar de la tercera edad a caja, entonces asignar un
cliente de la cola empresarial, pero solo puede haber 1 en caja,
independientemente de la cantidad de cajas.
o Si no se puede asignar cliente de las dos colas anteriores, entonces
asignar caja a un cliente normal, para estos clientes no hay condiciones.
Si se trata de asignar un cliente normal y la cola está vacía, entonces
asignar uno de la tercera edad sin importar las condiciones y si la cola
también está vacía, entonces asignar de la cola empresarial. Si todas
están vacía, mostrar el mensaje de colas vacías.
• Este método recibe como parámetro la caja que solicita el cliente, al final
mostrar la caja y el cliente asignado a la caja.
• Liberar caja: este método recibe el número de cada que se va a liberar, se
debe asignar a la caja un valor que indique que está vacía y disponible.
• Cerrar caja: recibe el número de caja a cerrar, debe asignar un valor a la caja
que indique que la caja no está disponible, el programa debe validar que una
caja cerrada no se puedan asignar turnos de clientes.
• Abrir Caja: recibe el número de caja que se abre de nuevo, debe asignar un
valor indicando que la caja está disponible.
• Resumen: debe indicar la cantidad de clientes que ha atendido cada caja
hasta el momento.
• Salir: este no es un método, pero se sale del programa, antes muestra el
resumen.