Java - : Estructuras de datos homogéneas. Arreglos unidimensionales.

 
Vista:
sin imagen de perfil

: Estructuras de datos homogéneas. Arreglos unidimensionales.

Publicado por Vic (4 intervenciones) el 25/02/2023 00:49:20
Por fa ayúdenme con lo siguiente :C
Un restaurante necesita una aplicación para gestionar el ingreso de los clientes
en sus mesas. En una mesa se pueden sentar de 0 (mesa vacía) a 4 comensales
(mesa llena). Cuando llega un cliente se le pregunta cuántos son. De momento
el programa no está preparado para colocar a grupos mayores a 4, por tanto, si
un cliente dice por ejemplo que son un grupo de 6, el programa dará el mensaje
“Lo siento, no admitimos grupos de 6, haga grupos de 4 personas
como máximo e intente de nuevo”. Para el grupo que llega, se busca
la primera mesa libre (con 0 personas) y la ocupan. El programa debe ser capaz
de una vez los clientes salen del restaurante desocupar la mesa. El restaurante
al abrirse tiene 10 mesas disponibles. Implemente un programa de consola
cuyos algoritmos permitan resolver las siguientes opciones:
I. Muestre un menú con las siguientes opciones:
1. Solicitar ingreso a mesa.
2. Desocupar mesa.
3. Estado de las mesas.
4. Salir del programa.
II. Pida por teclado la opción deseada (dato numérico entero positivo).
Deberá ser introducida y comprobar que sean valores válidos entre
1 y 4.
III. Ejecute la opción seleccionada del menú.
IV. Repita los pasos III.1, III.2 y III.3 mientras que, el usuario no
seleccione la opción III.4 (Salir) del programa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

: Estructuras de datos homogéneas. Arreglos unidimensionales.

Publicado por Maog (10 intervenciones) el 25/02/2023 20:53:48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import java.util.Scanner;
 
public class Restaurante {
    private static int[] mesas = new int[10]; // arreglo para almacenar la cantidad de comensales en cada mesa
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
 
        int opcion;
 
        do {
            // Mostrar el menú
            System.out.println("----- Restaurante -----");
            System.out.println("1. Solicitar ingreso a mesa");
            System.out.println("2. Desocupar mesa");
            System.out.println("3. Estado de las mesas");
            System.out.println("4. Salir del programa");
            System.out.print("Ingrese una opción: ");
 
            // Leer la opción ingresada por el usuario
            opcion = scanner.nextInt();
 
            switch (opcion) {
                case 1:
                    solicitarIngresoAMesa();
                    break;
                case 2:
                    desocuparMesa();
                    break;
                case 3:
                    mostrarEstadoDeMesas();
                    break;
                case 4:
                    System.out.println("Saliendo del programa...");
                    break;
                default:
                    System.out.println("Opción inválida, intente de nuevo.");
                    break;
            }
        } while (opcion != 4);
    }
 
    public static void solicitarIngresoAMesa() {
        Scanner scanner = new Scanner(System.in);
 
        System.out.print("¿Cuántos son? ");
        int numComensales = scanner.nextInt();
 
        if (numComensales > 4) {
            System.out.println("Lo siento, no admitimos grupos de " + numComensales + ", haga grupos de 4 personas como máximo e intente de nuevo.");
            return;
        }
 
        // Buscar la primera mesa libre
        int mesa = buscarMesaLibre();
 
        if (mesa == -1) {
            System.out.println("Lo siento, en este momento no hay mesas disponibles.");
        } else {
            mesas[mesa] = numComensales;
            System.out.println("Por favor, tome asiento en la mesa " + mesa);
        }
    }
 
    public static void desocuparMesa() {
        Scanner scanner = new Scanner(System.in);
 
        System.out.print("Ingrese el número de mesa a desocupar: ");
        int mesa = scanner.nextInt();
 
        if (mesa < 0 || mesa >= mesas.length) {
            System.out.println("Mesa inválida, intente de nuevo.");
        } else if (mesas[mesa] == 0) {
            System.out.println("La mesa " + mesa + " ya está vacía.");
        } else {
            mesas[mesa] = 0;
            System.out.println("La mesa " + mesa + " ha sido desocupada.");
        }
    }
 
    public static void mostrarEstadoDeMesas() {
        for (int i = 0; i < mesas.length; i++) {
            if (mesas[i] == 0) {
                System.out.println("Mesa " + i + ": vacía");
            } else {
                System.out.println("Mesa " + i + ": " + mesas[i] + " comensales");
            }
        }
    }
 
    public static int buscarMesaLibre() {
        for (int i = 0; i < mesas.length; i++) {
            if (mesas[i] == 0) {
                return i;
            }
        }
        return -1; // si no se encuentra ninguna mesa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar