Ir ao conteúdo

Posts recomendados

Postado

Eu estou criando sistema programação C na DEV C++

Descrição do cenário e seguinte:
O sistema de venda de ingressos de teatro deverá levar em consideração uma
tabela de valores para os ingressos, a qual deverá contemplar meia-entrada
(50% de desconto) para estudantes, crianças de 02 a 12 anos, adultos
a partir de 60 anos e professores da rede pública de ensino.
A tabela também deverá contemplar ingresso com 100% de desconto para
crianças carentes da rede pública de ensino às terças-feiras.Descrição do cenário
Ao concretizar a compra do ingresso, o sistema deverá emitir (mostrar na tela) um
ticket com a data, a hora, o nome da peça teatral e o número da poltrona. Nenhum
espectador pode ter um ingresso com o mesmo número da poltrona de outro
espectador da mesma peça teatral de um determinado horário.
O sistema deverá informar quando não existir mais lugares disponíveis e,
consequentemente, não permitir mais a venda de ingressos para a peça em
questão. Deverá também fazer a gestão do caixa, isto é, informar no fechamento
do caixa todas as movimentações do dia e o saldo do fechamento.

e sistema de programação C e esse abaixo:

/*   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[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[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;                         }        

 

 

 

gostaria de pedir ajuda para completar essa sistema.entao queria um auxilio onde estão faltando ou se tiver onde esta errado.pode apontar cada detalhe para eu possa entregar o trabalho(esse trabalho tem que entregar em dia30 do outubro)

 

Postado

Olá

 

Acho que sabe que tem algo errado com o seu post, certo? Não há quebras de linha no código

Você também não disse o que está errado ou se tem alguma dúvida, então vai ser difícil ajudar

  • Curtir 1
Postado

@arfneto /*
  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[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[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;                          
}
 
 
     DESCULPE EU NAO TINHA VISTO ISSO,AQUI ESTA FEITO SISTEMA DE Cadastrar Peca,Comprar Ingressos, Cancelar Ingresso, Faturar e Encerrar o Sistema,

 mas nao sei como colocar e nao sei também como executar outro cenário(que esta no descrição )

Postado

Parece que falta um índice em inicializa()...

 

Eu não me preocuparia em ficar desenhando coisas na tela ou mesmo ficar limpando a tela antes de resolver o problema em si. Sempre recomendo isso. Ou mesmo pegar entrada do usuário e tal. Essas coisas não agregam nada e só fazem você perder tempo de desenvolvimento da lógica e implementação em si. [palpite]

 

Em várias partes do programa acessa essa matriz com um único índice, mas parece que era pra ter dois. Está certo do que está fazendo Monnica/Danilo?

 

Ainda não entendi qual a dúvida. Isto está funcionando?

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...