Simulador de teatro
Publicado por Danilo Lima 04/11/2006
[ Hits: 15.560 ]
Homepage: http://danilo.site88.net
Este script simula a venda e reserva de cadeiras em um teatro. Ele mostra ainda as cadeiras reservadas e disponíveis.
/* Name: teatro Copyright: danilo lima da guia Author: limadaguia Date: 21/09/06 14:58 Description: */ #include <stdio.h> #include<stdlib.h> #include<conio.h> #define COL 7 #define ROW 4 #define FALSE 0 #define TRUE 1 void inicializa(char matriz[ROW][COL]); void mostrarPainel(char matriz[ROW][COL]); void comprar(char matriz[ROW][COL]); void reservar(char matriz[ROW][COL]); void legenda(); int menuOpcao(); int colunaY(); int linhaX(); //estrutura dos dados struct dados { char nome[30]; char bairro[30]; int regnum; }; struct dados cod[50]; int n=0; int main (void){ char matriz[ROW][COL]; int opcao; int loopContinue=TRUE; inicializa(matriz); //Iniciliza a matriz com valores .(Livre) do{ system("cls");//Limpa a tela opcao=menuOpcao(); switch(opcao){ case 1: system("cls"); system("cls"); mostrarPainel(matriz);//Mostra o Painel atualizado comprar(matriz); // Realiza a compra de uma cadeira no painel, marcando c/ um X break; case 2: system("cls"); system("cls"); mostrarPainel(matriz); reservar(matriz); //Realiza a reserva de uma cadeira no painel, marcando c/ um R break; case 3: system("cls"); mostrarPainel(matriz); getch(); break; case 4: loopContinue = FALSE; //condicao para saída do programa } }while(loopContinue); getchar(); return 0; } void inicializa(char matriz[ROW][COL]){ int i,j; for(i=1;i<=ROW;i++) for(j=1;j<=COL;j++) matriz[i][j] = '.'; } void mostrarPainel(char matriz[ROW][COL]){ int i,j; printf("\n\n %c PAINEL DE OCUPACOES %c\n\n",16,17); printf(" "); for(i=1;i<=COL;i++) printf("%d ",i); for(i=1;i<=ROW;i++){ printf("\n\n %d",i); for(j=1;j<=COL;j++) printf(" (%c)",matriz[i][j]); } //apresenta o menu na tela legenda(); } int menuOpcao(){ int opcao=4; do { system("cls"); printf("\n\n %c MENU %c\n\n",16,17); printf(" %c 1- Comprar %c\n",16,17); printf(" %c 2- Reservar %c\n",16,17); printf(" %c 3- Mostrar Painel %c\n",16,17); printf(" %c 4- Exit %c\n\n",16,17); printf(" opcao: ");scanf("%d",&opcao); if(opcao <= 0 || opcao > 4){ printf("\n\n\n DIGITE APENAS VALORES CORESPONDENTES AO MENU !!"); getch(); } }while(opcao <= 0 || opcao > 4); return opcao; } //apresenta a legenda na tela void legenda(){ printf("\n\n\n .-Livre X-Ocupado R-Reservado\n\n"); } //efetica a compra da cadeira void comprar(char matriz[ROW][COL]){ int row, col; printf("\n COMPRA DE CADEIRAS\n\n"); row = linhaX(); col = colunaY(); if(matriz[row][col]=='.'){ matriz[row][col] = 'X'; printf("\n\n COMPRA EFETIVADA COM SUCESSO !!"); } else if (matriz[row][col]=='X') printf("\n\n CADEIRA JA OCUPADA!! ESCOLHA OUTRA !!\n\n"); else if(matriz[row][col]=='R') printf("\n\n CADEIRA JA RESERVADA!! ESCOLHA OUTRA !!\n\n"); getch(); } //reserva a cadeira no teatro void reservar(char matriz[ROW][COL]){ int row, col; printf("\n\n RESERVA DE CADEIRAS\n\n"); row = linhaX(); col = colunaY(); if(matriz[row][col]=='.'){ matriz[row][col] = 'R'; printf("\n\n RESERVA EFETIVADA COM SUCESSO !!"); } else if (matriz[row][col]=='X') printf("\n\n CADEIRA JA OCUPADA!! ESCOLHA OUTRA !!\n\n"); else if(matriz[row][col]=='R') printf("\n\n CADEIRA JA RESERVADA !! ESCOLHA OUTRA !!\n\n"); getch(); } //ler a linha oferecida pelo usuario int linhaX(){ int row; printf(" Linha: "); scanf("%d",&row); if(row>4) { printf("\t\n Esta cadeira nao existe!!! "); } return row; } //ler a coluna oferecida pelo usuario int colunaY(){ int col; printf(" Coluna: "); scanf("%d",&col); if(col>7) { printf("\t\n Esta cadeira nao existe!!! "); } return col; }
Manipuladores de bases numéricas
Calcula o raio de um objeto cilindrico
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)