estrutura
1 Introdução 3
2 Algoritmo e estruturas de dados 3
2.1 Explicação de código 3
2.1.1 TAD 3
2.1.2 Função criarLista 4
2.1.3 Função estaVazia 4
2.1.4 Função insere 4
2.1.5 Função imprime 4
2.1.6 Função removeVoo 5
2.1.7 Função cadastraAeroporto 5
2.1.8 Função cadastraVoo 6
2.1.9 Função imprimeVoos 7
2.1.10 Função imprimeTudo 7
2.1.11 Função main 7
3 Conclusão 10
1 Introdução
A ANAC (Agência Nacional de Aviação Civil) pediu para desenvolver um programa para facilitar a reorganização da malha aérea do país.
Basicamente, terá que ser criado uma estrutura de dados para cadastrar os aeroportos do país e os vôos feitos entre os aeroportos. A estrutura deverá comportar no máximo de 10 aeroportos
2 Algoritmo e estruturas de dados
2.1 Explicação de código
Foi criado um tipo abstrato de dados chamado NoLista para armazenar a cidade destino e o código do vôo, uma estrutura Lista com cabeça e cauda, uma estrutura Aeroporto onde contém o nome da cidade onde se localiza o aeroporto e o código do mesmo e uma Lista de vôos,
2.1.1 TAD
typedef struct noLista { char cidDestino[3]; int numeroVoo; struct noLista* prox;
}NoLista;
A estrutura acima foi criada para cadastrar os vôos dos aeroportos.
typedef struct aero{ char nomeDaCidade[30]; char cod[3]; Lista voos;
}Aeroporto;
A estrutura acima foi criada para armazenar os dados do cadastro de Aeroportos.
typedef struct reg{ int quant; Aeroporto a[MAX_A];
}Reg;
A estrutura acima foi criada para armazenar o numero de aeroportos cadastrados onde o máximo é de 10 aeroportos.
2.1.2 Função criarLista
void criarLista(Lista* l){ l->cabeca=malloc(sizeof(NoLista)); l->cauda=malloc(sizeof(NoLista)); l->cabeca->prox=l->cauda; l->cauda->prox = NULL;
}
A função acima serve para criar uma lista com cabeça e cauda para que os valores sejam inseridos.
2.1.3 Função estaVazia
int estaVazia(Lista* l){ return(l->cauda->prox==l->cauda);
}