Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JosimarFarias

Reserva avião em C++

Recommended Posts

OLá a todo! Estou com dificuldades em compilar este código de reserva de poltrona de um avião....Sou iniciante....

Se puderem ajuda aí.....Please...

 

O erro que o compilador mostra é:

printf(" C \ "); mostraFila( C ) ;
printf(" D \ "); mostraFila( D ) ;

 

# include <stdio.h>
# include <stdlib.h>
# include <string.h>

/*
const A = 0 ;
const B = 1 ;
const C = 2 ;
const D = 3 ;

*/

#define A 0
#define B 1
#define C 2
#define D 3
#define TRUE 1
#define FALSE 0

struct passageiros {
char nome[30];
char cpf[15];
int fila ;
int coluna ;
};

// PROTOTIPOS DAS FUNCOES
void liberar() ;
void reservar() ;
void mostrarPoltronas () ;
void salvar();
int fila( char fila ) ;
int reservarPoltronas ( char letra_fila , int coluna ) ;
void mostraFila( int coluna ) ;
int liberarPoltronas ( char letra_fila , int coluna);

// VARIAVEIS GLOBAIS
int poltronas[4][15];
struct passageiros passageiro[4][15];

int main() {
int i,j,count;
int menu;
char opcao;
int executar_programa=TRUE;

while ( executar_programa ) {

mostrarPoltronas();

printf(" CONSULTAR DISPONIBILIDADE DE VOO \n");
printf(" [R] RESERVAR \n");
printf(" [V] VISUALIZAR \n");
printf(" [L] LIBERAR POLTRONA \n\n");
scanf("%c%*c",&opcao);

switch (opcao) {
case 'r': case 'R': // reserva
reservar();
break;
case 'v': case 'V': // visualizar
//Visualizar
break;
case 'l': case 'L': //liberar
liberar();
break;
case 's': case 'S':
printf(" Sair");
executar_programa = FALSE;
break;
default:
printf(" Nenhuma Opção Valida (%c)",opcao);
}
}


system ("pause");
return 0;
}

void liberar()
{
char letra_fila;
int coluna;
int poltrona_valida = 1;

while( poltrona_valida )
{
mostrarPoltronas();

printf( "Digite uma fila entre (A-F)e uma coluna entre (1-23) para liberar a poltrona:" );
scanf( "%c%d%*c" , &letra_fila, &coluna );

poltrona_valida = liberarPoltronas( letra_fila , coluna - 1 ) ;

}

passageiro[ fila( letra_fila )][ coluna-1 ].coluna = coluna - 1;
passageiro[ fila( letra_fila )][ coluna-1 ].fila = fila( letra_fila );
poltronas[ fila( letra_fila )][ coluna-1 ] = 0;

// 3 - salvar no arquivo
salvar();

// atualiza tela e exibe mensagem
mostrarPoltronas();
printf( "\nPoltrona liberada com sucesso!\n" );
}

void reservar( ) {
char letra_fila;
int coluna;
char nome[30];
char cpf[15];
int poltrona_valida = 0 ;

// 1 - pegar dados do usuario (nome e cpf)
system("cls");
printf("digite seu nome: ");
scanf("%s",nome);
printf("digite seu cpf: ");
scanf("%s",cpf);

// 2 - escolher poltrona e atualizar matriz
while ( !poltrona_valida ) {
mostrarPoltronas();

printf("Digite uma fila entre (A-D)e uma coluna entre (1-15): ");
scanf("%c %d%*c" ,&letra_fila,&coluna);

poltrona_valida = reservarPoltronas( letra_fila , coluna-1 ) ;

}

// atualizar matriz
strcpy (passageiro[ fila(letra_fila) ][ coluna-1 ].nome , nome);
strcpy (passageiro[ fila(letra_fila) ][ coluna-1 ].cpf , cpf );
passageiro[ fila(letra_fila) ][ coluna-1 ].coluna = coluna-1;
passageiro[ fila(letra_fila) ][ coluna-1 ].fila = fila(letra_fila);
poltronas[ fila(letra_fila) ][ coluna-1 ] = 1;

// 3 - salvar no arquivo
salvar();

// atualiza tela e exibe mensagem
mostrarPoltronas();
printf("\nPoltrona reservada com sucesso!\n");
}

int fila( char fila ) {
switch ( fila ) {
case 'A': case 'a': return 0 ;
case 'B': case 'b': return 1 ;
case 'C': case 'c': return 2 ;
case 'D': case 'd': return 3 ;

default : return 4 ;
}
}

int reservarPoltronas ( char letra_fila , int coluna ) {

// validacao dos dados de entrada
if ( coluna < 0 || coluna > 14 ) return 0 ;
if ( fila(letra_fila) < 0 || fila(letra_fila) > 3 ) return 0 ;

// se poltrona ja estiver reservada, retorna 0
if ( poltronas[ fila( letra_fila ) ][ coluna ] == 1 ) return 0 ;

// se poltrona escolhida é valida E disponível, então reserva!
poltronas[fila( letra_fila )][coluna] = 1 ;

return 1;
}


int liberarPoltronas ( char letra_fila , int coluna) {

// Liberação de dados de entrada

if ( coluna < 0 || coluna > 14 ) return 0 ;
if ( fila(letra_fila) < 0 || fila(letra_fila) > 3 ) return 0 ;

// se poltrona escolhida esta reservada , então liberar!
if ( poltronas[ fila( letra_fila ) ][ coluna ] == 0 ) return 1 ;

// se poltrona ja estiver liberada, retorna 0

poltronas[fila( letra_fila )][coluna] = 0 ;

return 0;
}

void mostrarPoltronas (){

system("cls");
printf("\n ____________________________________________ \n");
printf(" A / "); mostraFila( A ) ;
printf(" B / "); mostraFila( B ) ;
printf(" |\n");
printf(" C \ "); mostraFila( C ) ;
printf(" D \ "); mostraFila( D ) ;
printf(" \\_____________________________________________ \n");
printf(" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \n");
printf ("\n\n");

}

void mostraFila( int coluna ) {
int i ;

for ( i=0; i<15 ; i++) {
if ( poltronas[coluna] == 0 ) {
printf("_ ");
} else {
printf("R ");
}
}

printf("\n");
}

void salvar(){

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

 


O erro que o compilador mostra é:

printf(" C \ "); mostraFila( C ) ;
printf(" D \ "); mostraFila( D ) ;



Isso não é erro.

Isso é um trecho de código.

Qual é o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.