Ayuda con este programa de Arreglos


13 de Septiembre del 2016

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.