Ir ao conteúdo
  • Cadastre-se

Programa de passagens aéreas


ICSI

Posts recomendados

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;

 

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...