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;
}
}