Dev - C++ - Alguien que me ayude, es mi programa final

 
Vista:
sin imagen de perfil

Alguien que me ayude, es mi programa final

Publicado por Nael (9 intervenciones) el 17/05/2022 15:23:27
Don Churumusco tiene un edificio de 5 pisos en el que hay 4 apartamentos por piso. Debido a la pandemia por el Coronavirus COVID-19, él desea tener un control de las personas que entran y salen de cada apartamento en todo momento.

Escriba un programa usando un arreglo de 2 dimensiones que presente el siguiente menú:

Edificio Don Churumusco
Control de Entrada y Salida de Apartamentos

1.- Registrar entrada
2.- Registrar salida
3.- Listar ocupación
4.- Salir del programa.

Elija una opción ==>

La opción 1 deberá preguntar a qué piso y a qué apartamento se le registrará la entrada y cuántas personas entraron, Ejemplo:

Edificio Don Churumusco
Control de Entrada y Salida de Apartamentos

Registro de Entradas

Digite piso......... (1-5) : 2
Digite apartamento.. (1-4) : 1
Personas............ (1-10): 3

El programa deberá acumular las personas que entraron a ese apartamento con las que ya había en él.

La opción 2 deberá preguntar a qué piso y a qué apartamento se le registrará la salida y cuántas personas salieron, Ejemplo:

Edificio Don Churumusco
Control de Entrada y Salida de Apartamentos

Registro de Salidas

Digite piso......... (1-5) : 2
Digite apartamento.. (1-4) : 1
Personas............ (1-10): 1

El programa deberá restar las personas que salieron de ese apartamento de las que ya había en él.

La opción 3 deberá listar cuantas personas hay en cada apartamento, Ejemplo:

Edificio Don Churumusco
Control de Entrada y Salida de Apartamentos

Ocupación Actual

1 2 3 4
--------------------------
5 |[ 2 ] [ 0 ] [ 0 ] [ 0 ]
--|-----------------------
4 |[ 2 ] [ 0 ] [ 0 ] [ 0 ]
--|-----------------------
3 |[ 2 ] [ 0 ] [ 0 ] [ 0 ]
--|-----------------------
2 |[ 2 ] [ 0 ] [ 0 ] [ 0 ]
--|-----------------------
1 |[ 0 ] [ 0 ] [ 0 ] [ 0 ]
--------------------------
Al final de cada opción el programa deberá volver al menú.

Ojo: El programa deberá tener una constante MAX_PISOS = 5 y otra MAX_APTARTAMENTOS = 4, de forma tal que si se desea cambiar el tamaño del edificio, se podrán modificar estas constantes y el programa deberá funcionar adecuadamente para los nuevos valores.
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
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Alguien que me ayude, es mi programa final

Publicado por Alfil (1444 intervenciones) el 20/05/2022 15:48:13
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
98
99
100
101
102
#include <iostream>
 
using namespace std;
 
void menu();
void inicializar(int** &matriz, const int fil, const int col);
void imprimir(int** matriz, const int fil, const int col);
 
int main()
{
    const int MaxPisos = 5;
    const int MaxApartamentos = 4;
    int **edificio;
 
    inicializar(edificio, MaxPisos, MaxApartamentos);
 
    char opcion;
    int piso, apartamento, personas;
 
    do {
        menu();
        cin >> opcion;
 
        switch (opcion)
        {
            case '1':
                cout << endl << "Entrada: " << endl;
                cout << "Piso (1-" << MaxPisos << "): ";
                cin >> piso;
                cout << "Apartamento (1-" << MaxApartamentos << "): ";
                cin >> apartamento;
                cout << "Personas (1-10): ";
                cin >> personas;
                edificio[piso-1][apartamento-1] += personas;
                break;
 
            case '2':
                cout << endl << "Salida: " << endl;
                cout << "Piso (1-" << MaxPisos << "): ";
                cin >> piso;
                cout << "Apartamento (1-" << MaxApartamentos << "): ";
                cin >> apartamento;
                cout << "Personas (1-10): ";
                cin >> personas;
                edificio[piso-1][apartamento-1] -= personas;
                break;
 
            case '3':
                imprimir(edificio, MaxPisos, MaxApartamentos);
                break;
 
            case '4':
                cout << endl << "FIN DEL PROGRAMA" << endl << endl;
                break;
 
            default:
                cout << endl << "OPCION NO VALIDA" << endl << endl;
                break;
        }
 
    } while (opcion != '4');
 
    return 0;
}
 
void inicializar(int** &matriz, const int fil, const int col)
{
    *matriz = new int[fil];
    for (int i = 0; i < fil; i++)
        matriz[i] = new int[col];
 
    for (int i = 0; i < fil; i++)
        for (int j = 0; j < col; j++)
            matriz[i][j] = 0;
}
 
void imprimir(int** matriz, const int fil, const int col)
{
    cout << endl;
    for (int i = 0; i < fil; i++)
    {
        cout << "Piso " << i + 1 << ": ";
        for (int j = 0; j < col; j++)
        {
            cout << "[" << matriz[i][j] << "]";
        }
        cout << endl;
    }
}
 
void menu()
{
    cout << endl;
    cout << "    MENU PRINCIPAL " << endl;
    cout << "=======================" << endl;
    cout << " 1.- Registrar Entrada" << endl;
    cout << " 2.- Registrar Salida" << endl;
    cout << " 3.- Listar Ocupacion" << endl;
    cout << " 4.- Salir " << endl;
    cout << "======================" << endl;
    cout << "OPCION (1-4): ";
}
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
sin imagen de perfil

Alguien que me ayude, es mi programa final

Publicado por Nael (9 intervenciones) el 21/05/2022 03:57:45
Muchas gracias y tambien por la explicación en el otro post, bendiciones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar