How do I get it to enter the menu and select the room indicated and fill in the vector?
I know I have to declare an array for the rooms and these are filled and emptied at the user's will but I do not know how to make it functional between objects
Here I pass the code.
#include <iostream>
#include <string>
#include <ctime>
using namespace std;
class SalaDeCine
{
private:
string NombrePelicula;
string Clasificacion;
int Asientos[5][9] {};
public:
void CarteleraSala();
void asignarButaca();
void eliminarButaca();
void mostrarSala();
void vaciarSala();
};
class MenuSala
{
private:
SalaDeCine sala;
public:
void AsignarSala( SalaDeCine );
void MenuPrincipal();
void MenuPrincipalSala();
};
//Metodos de SalaDeCine
void SalaDeCine::asignarButaca()
{
char letra;
int num;
cout << "\n\nintroduzca la posicion con la letra A,B,C para filas y numeros para columnas ASIGNAR ASIENTO" << endl;
cout << "introduzca letra y numero:";
cin >> letra >> num;
if(letra >= 'A' and letra <= 'E')
{
letra -= 65;
Asientos[static_cast<int> (letra)][num] = true;
}
else if(letra >= 'a' and letra <= 'e')
{
letra -= 97;
Asientos[static_cast<int> (letra)][num]= true;
}
}//fin de metodo
void SalaDeCine::eliminarButaca()
{
char letra;
int num;
cout << "\n\nintroduzca la posicion con la letra A,B,C para filas y numeros para columnas ELIMINAR ASIENTO" << endl;
cout << "introduzca letra y numero:";
cin >> letra >> num;
if(letra >= 'A' and letra <= 'E')
{
letra -= 65;
Asientos[static_cast<int> (letra)][num] = false;
}
else if(letra >= 'a' and letra <= 'e')
{
letra -= 97;
Asientos[static_cast<int> (letra)][num] = false;
}
//fin de metodo
}
void SalaDeCine::mostrarSala()
{
char letra;
letra = 65;
cout << endl;
cout << " 0 1 2 3 4 5 6 7 8"<< endl;
cout << " +-------------------------+"<< endl;
for(int fil = 0; fil < 5; fil++)
{
cout<< (static_cast<char>(fil + letra)) << " ";
for(int col = 0; col < 9; col++)
{
cout<<"|"<< Asientos[fil][col] << "|";
}
cout << endl;
}
cout << " +-------------------------+"<< endl;
cout << endl;
}//fin de metodo
void SalaDeCine::vaciarSala()
{
int Asientos[5][9];
for(int fil = 0; fil < 5; fil++)
{
for(int col = 0; col < 9; col++)
{
Asientos[fil][col] = false;
cout << Asientos[fil][col] << " ";
}
cout << endl;
}
}//fin de metodo
//metodo de MenuSala
void MenuSala::MenuPrincipalSala()
{
int opcion;
cout << "Menu de Sala:\n";
cout << "+--------------------------------+\n";
cout << "|1.-Asignar Butaca |\n";
cout << "|2.-Eliminar Butaca |\n";
cout << "|3.-Mostrar Sala |\n";
cout << "|4.-Vaciar Sala |\n";
cout << "|5.-Salir al Menu Principal |\n";
cout << "+--------------------------------+\n";
cin >> opcion;
system("clear");
switch(opcion)
{
case 1:
sala.asignarButaca();
MenuPrincipalSala();
break;
case 2:
sala.eliminarButaca();
MenuPrincipalSala();
break;
case 3:
sala.mostrarSala();
MenuPrincipalSala();
break;
case 4:
sala.vaciarSala();
MenuPrincipalSala();
break;
case 5:
MenuPrincipal();
break;
}
}
void MenuSala::MenuPrincipal()
{
int opcion;
cout << "Menu de Principal:\n";
cout << "+--------------------------------+\n";
cout << "|1.-Seleccionar Sala |\n";
cout << "|2.-Mostrar Salas |\n";
cout << "|3.-Mostrar Funciones |\n";
cout << "|4.-Salir del Programa |\n";
cout << "+--------------------------------+\n";
cin >> opcion;
system("clear");
switch(opcion)
{
case 1:
int num;
cout << "Sala 0" << endl;
cout << "Sala 1" << endl;
cout << "Sala 2" << endl;
cout << "Elige el numero de la sala: ";
cin >> num;
//Como haria aqui para seleccionar la sala
MenuPrincipalSala();
AsignarSala( sala );
break;
case 2:
for(int n = 0; n < 3; n++)
{
cout << "Sala: " << n << endl;
}
MenuPrincipal();
break;
case 3:
MenuPrincipal();
break;
case 4:
system("exit");
break;
}
}
void MenuSala::AsignarSala( SalaDeCine)
{
MenuPrincipalSala();
}
int main()
{
MenuSala Menu;
Menu.MenuPrincipal();
return 0;
}