Ir ao conteúdo

Posts recomendados

Postado

Estou com dificuldade em corrigir erro do switch toda vez que copila da erro no switch  segue código 

 

 

/*
voce deve contruir um gerenciador de aeroportos.
Nele você tera varios aeroportos, cada um com:
-> uma quantidade de pistas
-> uma quantidade de voos programados
-> uma lista de partidas

Cada pista tera:
-> um identificador
-> um limite de peso (para verificar se a aeronave pode decolar nela)
-> uma dimencao da pista

Cada Voo tera:
-> identificador
-> origem e destino
-> peso da aeronave
-> Distancia percorrida
-> velocidade maxima
-> tempo de voo (pode / deve ser calculado).

*/

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

#define NPistas 2
#define NVoos 100

using namespace std;

struct Pista
{
private:
    int Comprimento;
    string Identificacao;
    int largura;
    int LimitePeso;
public:
    Pista()
    {
        this->Comprimento = -1;
        this->Identificacao = "";
        this->largura = -1;
        this->LimitePeso = -1;
    }

    Pista(int comprimento, string identificacao, int largura, int limitepeso)
    {
        this->Comprimento = comprimento;
        this->Identificacao = identificacao;
        this->largura = largura;
        this->LimitePeso = limitepeso;
    }

    int getComprimento()
    {
        return this->Comprimento;
    }

    string getIdentificacao()
    {
        return this->Identificacao;
    }

    int getLargura()
    {
        return this->largura;
    }

    int getLimitePeso()
    {
        return this->LimitePeso;
    }


};

struct Voo
{
private:
    string codigo;
    string origem;
    string destino;
    int pesoAviao;
    int velocidadeMaxima;
    int KMPercurso;
public:
    Voo()
    {
        this->codigo = "";
        this->origem = "";
        this->destino = "";
        this->pesoAviao = 0;
        this->velocidadeMaxima = 0;
        this->KMPercurso = 0;
    }

    Voo(string codigo, string origem, string destino, int peso,int vel,int km)
    {
        this->codigo = codigo;
        this->origem = origem;
        this->destino = destino;
        this->pesoAviao = peso;
        this->velocidadeMaxima = vel;
        this->KMPercurso = km;
    }

    string getCodigo()
    {
        return this->codigo;
    }
    string getOrigem()
    {
        return this->origem;
    }
    string getDestino()
    {
        return this->destino;
    }
    int getPesoAviao()
    {
        return this->pesoAviao;
    }
    int getVelocidadeMaxima()
    {
        return this->velocidadeMaxima;
    }
    int getKMPercurso()
    {
        return this->KMPercurso;
    }

};

struct Aeroporto
{
private:
    string IdentificadorAeroporto;
    int latitude;
    int longitude;
    string cidade;
    Pista *Pistas;
    Voo *PlanosVoo;
    Voo *FilaDecolagem;
public:
    Aeroporto()
    {
        this->IdentificadorAeroporto = "";
        this->latitude = 0;
        this->longitude = 0;
        this->cidade = "";
        this->Pistas = NULL;
        this->PlanosVoo = NULL;
        this->FilaDecolagem = NULL;
    }

    Aeroporto(int lat, int lon, string cid,string IdentificadorAeroporto,Pista *pist, Voo *plan, Voo *deco)
    {
        this->IdentificadorAeroporto = IdentificadorAeroporto;
        this->latitude = lat;
        this->longitude = lon;
        this->cidade = cid;
        this->Pistas = pist;
        this->PlanosVoo = plan;
        this->FilaDecolagem = deco;
    }

    int getLatitude()
    {
        return this->latitude;
    }

    int getLongitude()
    {
        return this->longitude;
    }

    string getIdentificadorAeroporto()
    {
        return this->IdentificadorAeroporto;
    }

    string getCidade()
    {
        return this->cidade;
    }

    Pista getPistas(int indice)
    {
        return this->Pistas[indice];
    }

    Voo getPlanos(int indice)
    {
        return this->PlanosVoo[indice];
    }

    int getTamanhoPistas()
    {
        return sizeof(this->Pistas);
    }
    int getTamanhoPlanos()
    {
        return sizeof(this->PlanosVoo);
    }

};


float tempoVoo(int d, int v)
{
    return d / v;
}

int main (void)
{
    Aeroporto aeroportos[20];
    int contAero = 0;
    int menu;


    while(menu != 4)
    {
        system("color 2");
        system("cls");

        printf("Criar Aeroporto digite 0");
        printf("Lista Aeroportos digite 1");
        printf("Lista pistas digite 2");
        printf("Programaçao de voos digite 3");
        printf("Sair digite 4");
        scanf("%d", &menu);

        switch(menu)
        {

        case 0:
        {

            Pista pistas[20];
            Voo voos[20];
            int cont_pistas = 0;
            int cont_voos = 0;
            bool opPista = true;
            bool opc_voo = true;
            int add;
            int Comprimento;
            char Identificacao[100];
            int largura;
            int Peso;
            char codigo[100];
            char origem[100];
            char destino[100];
            int pesoAviao;
            int velocidadeMaxima;
            int KMPercurso;
            char IdentificadorAeroporto[100];
            int latitude;
            int longitude;
            char cidade[100];

            if(contAero < 20)
            {


                while(opPista)
                {
                    printf("Adicione uma pista" );
                    printf("Comprimento:" );
                    scanf("%d", &Comprimento);
                    printf("Largura:" );
                    scanf("%d", &largura);
                    system("cls");
                    printf("descriçao do aviao");
                    printf("Peso:" );
                    scanf("%d", &Peso);
                    printf("Identificação:" );
                    scanf("%100s", &Identificacao);
                    pistas[cont_pistas] = Pista(Comprimento,Identificacao,largura,Peso);
                    cont_pistas++;
                    if(cont_pistas < 20)
                    {
                        printf( "adicionar outra \n sim = 0 \n nao = 1" );

                        scanf("%d", &add);
                        if(add == 1)
                        {
                            opPista = false;
                        }
                    }
                    else
                    {
                        printf("Numero maximo de pistas atingido!");
                        opPista = false;
                    }
                }

                while(opc_voo)
                {

                    printf( "Por favor adicione um voo" );
                    printf( "Codigo:" );
                    scanf("%100s", &codigo);
                    printf( "Origem: " );
                    scanf("%100s", &origem);
                    printf( "Destino: ");
                    scanf("%100s", &destino);
                    printf( "Peso do Aviao: ");
                    scanf("%d", &pesoAviao);
                    printf( "Vel Max: " );
                    scanf("%d", &velocidadeMaxima);
                    printf( "Distancia do percurso: " );
                    scanf("%d", &KMPercurso);
                    voos[cont_voos] = Voo(codigo,origem,destino,pesoAviao,velocidadeMaxima,KMPercurso);
                    cont_voos++;
                    if(cont_voos < 20)
                    {
                        printf( "Gostaria de adicionar mais um voo? sim = 0 / não = 1" );
                        scanf("%d", &add);
                        if(add == 1)
                        {
                            opc_voo = false;
                        }
                    }
                    else
                    {
                        printf( "Numero maximo de voos atingido!" );
                        opc_voo = false;
                    }
                }

                printf("Para terminar o cadastro do aeroporto, por favor digite:");
                printf("IdentificadorAeroporto:" );
                scanf("%100s", &IdentificadorAeroporto);
                printf("latitude:" );
                scanf("%d", &latitude);
                printf("longitude:" );
                scanf("%d", &longitude);
                printf("cidade:" );
                scanf("%100s", &cidade);

                aeroportos[contAero] = Aeroporto(latitude,longitude,cidade,IdentificadorAeroporto,pistas,voos,voos);
                printf("Aeroporto: " );
                aeroportos[contAero].getIdentificadorAeroporto()  ;
                printf(" latitude: " );
                aeroportos[contAero].getLatitude()  ;
                printf(" longitude " );
                aeroportos[contAero].getLongitude() ;
                printf(" cidade: " );
                aeroportos[contAero].getCidade();
                contAero++;

            }

        }
        break;


            case 1:
            system("cls");
            if(aeroportos[0].getIdentificadorAeroporto() != "")
            {
                for(int i = 0; aeroportos.getLatitude() != -1 && i < sizeof(aeroportos); i++)
                {
                    printf("/n");
                    printf( "Aeroporto: ");
                    aeroportos.getIdentificadorAeroporto();
                    printf("latitude: ");
                    aeroportos.getLatitude();
                    printf( "longitude");
                    aeroportos.getLongitude();
                    printf( "cidade: ");
                    aeroportos.getCidade();
                    printf("/n");
                }
            }

        }

        break;

        case 2:
        system("cls");
        if(aeroportos[0].getIdentificadorAeroporto() != "")
        {
            if(aeroportos[0].getPistas(0).getIdentificacao() != "")
            {
                for(int i = 0; aeroportos.getLatitude() != -1 && i < sizeof(aeroportos); i++)
                {
                    for(int j = 0; aeroportos.getPistas(j).getIdentificacao() != "" && j < aeroportos.getTamanhoPistas(); j++)
                    {
                        printf("/n");
                        printf("Aeroporto: ");
                        aeroportos.getIdentificadorAeroporto();
                        printf("Pista: ");
                        printf("Identificacao: ");
                        aeroportos.getPistas(j).getIdentificacao();
                        printf("Comprimento: ");
                        aeroportos.getPistas(j).getComprimento();
                        printf("Largura: ");
                        aeroportos.getPistas(j).getLargura();
                        printf("Limite Peso: ");
                        aeroportos.getPistas(j).getLimitePeso();
                        printf("/n");
                    }
                }
            }
        }

        break;


    case 3:
        system("cls");
        if(aeroportos[0].getIdentificadorAeroporto() != "")
        {
            if(aeroportos[0].getPlanos(0).getCodigo() != "")
            {
                for(int i = 0; aeroportos.getLatitude() != -1 && i < sizeof(aeroportos); i++)
                {
                    for(int j = 0; aeroportos.getPlanos(j).getCodigo() != "" && j < aeroportos.getTamanhoPlanos(); j++)
                    {
                        printf("/n");
                        printf("Aeroporto: ");
                        aeroportos.getIdentificadorAeroporto();
                        printf("Voo: ");
                        printf("Codigo: " );
                        aeroportos.getPlanos(j).getCodigo();
                        printf("Destino: " );
                        aeroportos.getPlanos(j).getDestino();
                        printf( "Origem: " );
                        aeroportos.getPlanos(j).getOrigem();
                        printf( "Peso Aviao: "  );
                        aeroportos.getPlanos(j).getPesoAviao();
                        printf( "KM Percurso: " );
                        aeroportos.getPlanos(j).getKMPercurso();
                        printf( "Velocidade Maxima (km/h): ");
                        aeroportos.getPlanos(j).getVelocidadeMaxima();
                        printf("Tempo de Voo: ");
                        tempoVoo(aeroportos.getPlanos(j).getKMPercurso(),aeroportos.getPlanos(j).getVelocidadeMaxima();
                                 printf("/n");
                    }
                }
            }
        }
        break;
    }

}

 

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!