y si pueden en pseudocodigo!!!!!
doy 10 ptos y 5 *****
Crear un programa que permita hacer reservas de cine. El cine tiene 6filasx12columnas de butacas. Las filas se numeran como A..H y las columnas del 1..20.
Las butacas ya reservadas tendrán un “*” (asterisco) como marca.
El programa primero visualizará en pantalla el patio de butacas.
Permitirá hacer una reserva, solicitándole la fila y columna de la butaca. Si la elegida está reservada, devolver mensaje de “Butaca No Disponible”, y pedirle que seleccione otra. El programa debe presentar un menú donde el usuario seleccione si desea ver el patio de butacas, reservar butacas o eliminar todas las reservaciones( que significa inicializar todo la matriz en 0 (cero)
Copyright © 2024 Q2A.MX - All rights reserved.
Answers & Comments
Verified answer
Aqui esta el código de tu programa, yo no tengo problemas en ayudarte. Lo de inicializar una matriz en 0, significa que al momento de crear el arreglo todos los valores del mismo seran 0 (en blanco o null), es decir crear una arreglo bidimensional en blanco... en mi caso uso el caracter 176 de la tabla ASCII ░ para las butacas.
Al momento de ingresar los datos utilizo numeros, pero si quieres que sea como A1 o C5 tendrias que cambiar las variables f y c por tipo char y validar la entrada.
//Tu código en C++
#include <iostream>
#include <iomanip>
using namespace std;
void Imprimir(char b[][12]){
system("cls");
for(int i = 1; i <= 12; i++)
cout<<setw(3)<<right<<i;
cout<<endl;
for(int i = 0; i < 6; i++){
for(int j = 0; j < 12; j++){
if(j == 0)
cout<< (char)('A' + i) << " ";
cout<< setw(3) << left <<b[i][j];
}
cout<<endl<<endl;
}
}
void Limpiar(char b[][12]){
for(int i = 0; i < 6; i++)
for(int j = 0; j < 12; j++)
b[i][j] = 176;
}
int main(){
char butacas[6][12];
Limpiar(butacas);
while(1){
int opc, f, c, resp;
system("cls");
cout<<"1. Ver butacas\n2. Reservar butacas\n3. Eliminar\nElija: ";
cin>>opc;
switch(opc){
case 1:
Imprimir(butacas); system("pause"); break;
case 2:
do{
cout<<"Reservar \n ";
Imprimir( butacas );
cout<<"Ingrese la fila y la columna: ";
cin>>f>>c;
if(f > 0 && f <= 6 && c > 0 && c <= 12){
if( butacas[f - 1][c - 1] == '*' ){
cout<<"Butaca no disponible.\n";
cin.get();
}
else{
butacas[f - 1][c - 1] = '*';
Imprimir( butacas );
}
}
cin.get();
cout<<"Continuar(s/n): ";
resp = cin.get();
}while(resp == 's'); break;
case 3:
cout<<"Se limpiaron las butacas.\n";
Limpiar(butacas); system("pause"); break;
default:
cout<<"Opcion incorrecta";
cin.get(); cin.get();
}
}
system("pause");
return 0;
}
Si tienes alguna duda me avisas, saludos.
buuuuu -.- kreo q ya me ganaron xDDDD