(Sistema de reservaciones para una aerolínea.) Una pequeña aerolínea acaba de comprar una computadora para su
nuevo sistema automático de reservaciones. A usted se le ha pedido que programe el nuevo sistema. Usted debe es-
cribir un programa que asigne los asientos, en cada vuelo, del único avión de la aerolínea (capacidad: 10 asientos).
Su programa debe desplegar el siguiente menú de alternativas:
Por favor, digite 1 para “primera clase”
Por favor, digite 2 para “económico”
Si la persona digita 1, su programa debe asignar un asiento en la sección de primera clase (asientos 1 a 5). Si la
persona digita 2, su programa debe asignar un asiento en la sección económica (asientos 6 a 10). Su programa de-
be imprimir un pase de abordar que indique el número de asiento de la persona y si está en la sección de primera
clase o en la sección económica del avión.
Utilice un arreglo con un solo subíndice para representar la tabla de asientos del avión. Inicialice en 0 todos los ele-
mentos del arreglo para indicar que todos los asientos están vacíos. Mientras se asigna cada asiento, el valor de los
elementos correspondientes del arreglo se establece en 1, para indicar que el asiento ya no está disponible.
Por supuesto, su programa nunca debe asignar un asiento que ya está asignado. Cuando la sección de primera clase
está llena, su programa debe preguntar a la persona si acepta que se le coloque en la sección económica (y viceversa).
Si acepta, entonces haga la asignación apropiada del asiento. Si no acepta, entonces despliegue el mensaje “El
siguiente vuelo parte en tres horas”.
Código
#include <iostream> using std::cout; using std::cin; using std::endl; void Mostrar(int Sillas[]); int main() { cout << "\t RESERVACIONES AEROLINEA \n\n"; int Asientos[10] = {}; int k=0; // contador de los 10 turnos cout << " Por favor, digite 1 para 'primera clase'\n"; cout << " Por favor, digite 2 para 'economico'\n\n"; cout << " Asientos: "; Mostrar(Asientos); do{ int puesto, x; cout << "\n\nDigite su asiento: "; cin >> puesto; if(puesto == 1) { for(int i=0 ; i<5 ; i++) { if(Asientos[i] == 0 && i<5) { Asientos[i] = 1; x = i+1; break; } } cout << "\nPASE DE ABORDAJE:" << endl; cout << "El asiento asignado es: " << x << endl; cout << "Se encuentra en 1ra clase" << endl << endl; } if(puesto == 2) { for(int i=5 ; i<10 ; i++) { if(Asientos[i] == 0 && i<10) { Asientos[i] = 1; x = i+1; break; } } cout << "\nPASE DE ABORDAJE:" << endl; cout << "El asiento asignado es: " << x << endl; cout << "Se encuentra en clase economico" << endl << endl; } Mostrar(Asientos); k++; }while(k<10); return 0; } void Mostrar(int Sillas[]) { for(int i=0 ; i<10 ; i++) { cout << " " << Sillas[i]; } }
Ahora bn hasta aca el programa pide 10 veces la entrada o la asignacion de los puestos pero no logro ver como hacer para que cuando ya no hallan puestos disponibles el programa pregunte si desea un puesto en la otra clase y si la respuesta es SI que lo asigne... Si alguien me puede guiar se lo agradeceria.