Desenvolva um programa para controlar a venda de poltronas para um teatro. O programa deverá fazer a consulta, reserva, venda ou liberação de uma poltrona informando a fila (linha) e coluna da poltrona em questão. Considere que o teatro possui o lado “A” e “B” com 8 filas e 5 colunas. Considere que entre o lado “A” e “B” existe uma coluna representada pelo corredor do teatro
Deve ser feito em linguagem c, usando matrizes e modularização e uma das rotinas necessariamente precisa ser o menu.
NÃO CONSIGO ENCONTRAR O ERRO NESSE CÓDIGO! NA HORA DA EXECUÇÃO, A TELA FICA PRETA E NÃO MOSTRA ONDE ESTÁ O ERRO
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int matriz[8][5],l,c,b,e;
int ocupadas=0;
EscolherPoltrona() {
printf("\nDigite o numero da poltrona desejada:");
scanf("%d", &e);
if(e<1 || e > 40){
printf("\nNumero de poltrona invalido.\n");
}
if(matriz[e-1][e-1]==e){
printf("\nEssa Poltrona ja esta ocupada.\n");
}else{
matriz[e-1][e-1]=e;
ocupadas++;
printf("\nPoltrona reservada com sucesso.\n");
}
return 0;
}
VisualizarPoltronas() {
printf("\nAs seguintes poltronas estão vazias:\n");
for(l=0;l<40;l++){
if(matriz[l]==0)
printf("%2d - ",l+1);
else
printf("** - ");
}
printf("\n");
return 0;
}
main(){
setlocale(LC_ALL, "Portuguese");
for(l=0;l<40;l++)
matriz[l][c]=0;
printf("Bem vindo ao teatro .\n XD.\n\n");
printf("\
1) Para escolher uma poltrona.\n\
2) Para visualizar as poltronas vagas.\n\
3) Para saber quantas ja estão ocupadas.\n\
4)Sair.\n\n\
Selecione uma opcao: ");
scanf("%d", & b);
while(b!=4){
system("cls");
if(b>4 || b<1)
printf("\nOpcao invalida.\n");
switch(b){
case 1:
EscolherPoltrona();
break;
case 2:
VisualizarPoltronas();
break;
case 3:
printf("\nJa foram reservadas %d poltrona(s)\n",ocupadas);
}
}
}