elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Sistema de reservaciones de una aerolínea
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sistema de reservaciones de una aerolínea  (Leído 7,322 veces)
cipaarzu

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Sistema de reservaciones de una aerolínea
« en: 12 Noviembre 2017, 06:27 am »

Estimados colegas, por favor necesito de su ayuda para poder resolver el siguiente ejercicio de programación en JAVA.

Una pequeña aerolínea acaba de comprar una computadora para su nuevo
sistema de reservaciones automatizado. Se le ha pedido a usted que desarrolle
el nuevo sistema. Usted escribirá una aplicación para asignar asientos en cada
vuelo del único avión de la aerolínea (capacidad: 90 asientos). Su aplicación
debe mostrar las siguientes alternativas:
 “Por favor escriba 1 para Primera Clase” y
 “Por favor escriba 2 para Economico”

Si el usuario escribe 1, su aplicación debe asignarle un asiento en la sección de primera clase (asientos 1A al 5F, es decir, filas 1 a la 5, columnas A, B, C, D E, y F) – ver figura nro.1. – Si el usuario escribe 2, su aplicación debe asignarle un asiento en la sección económica (asientos 6A al 15F, es decir, filas 6 a la 15, columnas A, B, C, D E, y F), en ambos casos – 1ra.Clase o Económica –, se debe preguntar al usuario si desea su asiento con vista hacia la ventana (filas A o F) o en pasillos (filas B, C, D o E), en el caso de haber disponibilidad. Su aplicación nunca deberá asignar un asiento que ya haya sido asignado. Cuando esté llena la sección económica, su programa deberá preguntar a la persona si acepta ser colocada en la sección de primera clase (o viceversa). Si la persona acepta, haga la asignación de asiento apropiada. Si no acepta, imprima el mensaje “El próximo vuelo sale en X horas”.

Adicional Ud. debe guardar la cédula, nombres, edad y número de asiento asignado a ese pasajero (en arreglos o matrices), según el avión se vaya llenando.
La implementación de esta información, nos permitirá conocer las siguientes estadísticas importantes para la aerolínea:

•• Cuantas personas de la tercera edad viajan en el avión (personas mayores de 64 años).

•• Cuantas personas ocupan asientos de ventana y cuantas de pasillo.

•• Cuáles son las personas de mayor edad y de menor edad, que viaja en el avión, para prestarles especial atención/servicio (mayor edad > 80 años, y menor edad < 10 años).


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: Sistema de reservaciones de una aerolínea
« Respuesta #1 en: 13 Noviembre 2017, 14:22 pm »

Aparte de leer el ejercicio y copypastearlo aquí, ¿has hecho algo más?
Suponiendo que sí, concretamente ¿cuál es el problema en el que te ahogas?.


En línea

Giraldhos

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Sistema de reservaciones de una aerolínea
« Respuesta #2 en: 15 Marzo 2021, 08:34 am »

/* Declarar un array que representará los asientos de nuestro avión con false indicando que estos están vacíos */
var airlineSeats = [
    false,
    false,
    false,
    false,
    false,
    false,
    false,
    false,
    false,
    false,
];

/* Contador que nos ayudará a rastrear número de asientos ocupados */
var busySeats = 0;
var paintSeats = function(array) {
    var containerSeats = document.getElementById('seats');
    for (var i = 0; i < array.length; i++) {
        var seat = document.createElement('div');
        seat.className = 'seats';
        /* Del primer elemento al cuarto en el array va a ser primera clase, del índice cero al índice 3 */
        if (i < 4) {
            seat.style.background = 'blue';
        } else {
            seat.style.background = 'grey';
        }
        containerSeats.appendChild(seat);
    }
};

var reserve = function() {
    var btn = document.getElementById('btn');
    btn.addEventListener('click', chooseZone);

}

var chooseZone = function() {
    var choice = prompt('¿En qué zona prefieres reservar? \n 1. Primera Clase \n 2. Económica \n \n Por favor ingresa el número de tu preferencia');

    if (choice == 1) {
        checkFirstClassZone();
    } else if (choice == 2) {
        checkEconomicZone();
    } else {
        alert('Por favor ingresa un número válido');
    }
};

var checkFirstClassZone = function() {
    var zone = 'Primera Clase';
    for (var index = 0; index < 4; index++) {
        if (airlineSeats[index] == false) {
            airlineSeats[index] = true;
            reserveSeat(index);
            paintTicket(index, zone);
            busySeats++;
            break;
        } else if (index == 3 & airlineSeats[index] == true) {
            reasignEconomicZone(zone);
        }
    }
}

var checkEconomicZone = function() {
    var zone = 'Economica';
    for (var index = 4; index < 10; index++) {
        if (airlineSeats[index] == false) {
            airlineSeats[index] = true;
            reserveSeat(index);
            paintTicket(index, zone);
            busySeats++;
            break;
        } else if (index == 9 & airlineSeats[index] == true) {
            reasignFirstClassZone(zone);
        }
    }
}

var reserveSeat = function(indexToPaint) {
    var seat = document.getElementsByClassName('seats');
    seat[indexToPaint].textContent = 'Ocupado';
}

var reasignEconomicZone = function(zone) {
    if (busySeats == 10) {
        noSeats();
        nextFlight();
    } else {
        var reasign = confirm('Ya no quedan asientos disponibles en ' + zone + ' :( \n ¿Quieres reservar en zona económica?');
        if (reasign == true) {
            checkEconomicZone();
        } else {
            nextFlight();
        }
    }
}

var reasignFirstClassZone = function(zone) {
    if (busySeats == 10) {
        noSeats();
        nextFlight();
    } else {
        var reasign = confirm('Ya no quedan asientos disponibles en ' + zone + ' :( \n ¿Quieres reservar en Primera Clase?');
        if (reasign == true) {
            checkFirstClassZone();
        } else {
            nextFlight();
        }
    }
}

var paintTicket = function(index, zone) {
    containerTickets = document.getElementById('tickets');
    var ticket = document.createElement('div');
    ticket.className = 'seats';
    var title = document.createElement('p');
    var reservedSeating = document.createElement('p');
    var zoneClass = document.createElement('p');
    title.textContent = 'PASE DE ABORDAR';
    reservedSeating.textContent = 'No. de asiento: ' + (index + 1);
    zoneClass.textContent = zone;
    ticket.appendChild(title);
    ticket.appendChild(reservedSeating);
    ticket.appendChild(zoneClass);
    containerTickets.appendChild(ticket);
}

var nextFlight = function() {
    alert('Nuestro próximo vuelo sale en 3 horas');
}
var noSeats = function() {
    alert('Lo sentimos :( \n Ya no quedan asientos disponibles en este avión.')
}
paintSeats(airlineSeats);
reserve();
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sistema de reservacion de aerolinea[C]
Programación C/C++
HRSLASH 4 19,116 Último mensaje 20 Diciembre 2017, 20:02 pm
por MAFUS
Programa que simule el sistema de reservaciones de un cine. APUNTADORES
Programación C/C++
Skornz 1 5,804 Último mensaje 27 Abril 2014, 19:52 pm
por noele1995
Reservaciones de un cine ¿Qué pasa?
Programación C/C++
Alexh3 2 2,993 Último mensaje 23 Noviembre 2015, 03:51 am
por Alexh3
Reservaciones
Programación C/C++
Alexh3 2 2,317 Último mensaje 25 Noviembre 2015, 03:01 am
por Alexh3
Sistema de Reservación de Aerolínea
Java
zermix 1 2,925 Último mensaje 12 Julio 2018, 23:12 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines