Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
ICSI

Programa de passagens aéreas

Recommended Posts

Bom dia galera, eu estou com um problema em executar um programa que estou criando sobre passagens aéreas, sendo que está dando erro quando eu quero definir que os assentos estão disponíveis usando a matriz. Quem puder me ajudar, eu ficarei agradecido, o código é esse aqui:
 

// Vou definir que o avião terá 20 colunas e 8 fileiras. É somente um exemplo.
int fileira(int f[] [8], int i, int j) //Função responsável pela a fileira dos assentos no avião. i=coluna e j=fileira.
{
    system("cls");
    printf("    A B     C D     E F \n=====||======||=======||=====\n");
    for(i=0;i<20;i++)
    {
        printf("", i++);
        for(j=0;j<2;j++)
        {
            printf( "[%d]", f[j] );
        }
        for(j=0;j<4;j++)
        {
            printf( "[%d]", f[j] );
        }
        for(j=0;j<6;j++)
        {
            printf( "[%d]", f[j] );
        }
        for(j=0;j<8;j++)
        {
            printf( "[%d]", f[j] );
        }
        printf("\n");
    }
    printf("\n");
}

int aviao(int continaur=1, int opcao=0)
{
    int assento;
    int letra=0;
    int num=0;
    assento[20][8]={0}; // Estamos indicando que os assentos estão disponíveis.                                              AQUI QUE ESTÁ DANDO ERRO, NESSA LINHA. 
    assento[1-1][0]=1; // 1-1 = Ao assento da primeira coluna, 0= a fileira A. Então logo, corresponde a A1.
    while(continuar==1)
    {
        fileira(assento)
        printf("Escolha uma opção:\n1-Reservar um assento\n0- Para sair\n");
        scanf("%d%c", &opcao);
        
        switch(opcao)
        {
            case 1:
                printf("Escolha um banco, por exemplo: A10\n");
                scanf("%c%d%c",&letra, &num);
                letra=toupper(letra); //Toupper serve para transformar as letras minúsculas em maiúsculas 
                letra=letra-65 ;/*Corresponde a tabela ASCII, por exemplo: Caso o usuário escolha a fileira A, que corresponde ao número 65 na tabela, será
                                 subtraído 65 e ficará com 0, o que corresponderá a primeira fileira no programa */
                if((letra<0 || letra>7) || (num<0 || num>19)) // Servirá para comprovar que o usuário escolheu um assento com segurança. 
                {
                    system("cls");
                    printf("Banco inexistente, selecione um assento válido.\n");
                    getchar();
                }
                else // Servirá para, caso o usuário escolha um assento ocupado, mostrar uma mensagem que diga que está ocupado e pedirá que ele escolha outro. 
                if(assentos[num][letra]==1)
                {
                    system("cls");
                    printf("Selecione um banco disponível.\n");
                    getchar();
                }
                else // Servirá para mostrar que o local selecionado, a partir de agora, estará ocupado.
                {
                    bancos[num][letra] = 1;    
                }
                break;
            case 0:
                system("cls");
                continuar = 0;
                break;
            default:
                break;
        }    
    }
    return 0;

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×