ATPS Estrutura de dados Etapas 1 e 2
Por: marcosrpaula • 29/11/2015 • Trabalho acadêmico • 1.058 Palavras (5 Páginas) • 431 Visualizações
#include <stdio.h>
#include <stdlib.h>
typedef struct Aviao
{
char modelo[50];
char fabricante[50];
int passageiros;
float comprimento;
float altura;
float velocidade;
float altitude;
float motor;
struct Aviao *next;
} Aviao;
typedef struct Voo
{
int numeroVoo;
char data[12];
char horario[9];
char saida[20];
char chegada[30];
char rota[20];
int tempo;
int passageiro;
Aviao Aviao;
struct Voo* prox;
} Voo;
typedef struct Passagem
{
int numeroPassagem;
Voo Voo;
char embarque[12];
char data[12];
char horario[9];
int portao;
struct Passagem *prox;
} Passagem;
Voo* initVoo(void)
{
return NULL;
}
Passagem* initPassagem(void)
{
return NULL;
}
Aviao* initAviao(void)
{
return NULL;
}
void cadastrarVoo(Voo* voo){
Voo* novo = (Voo*) malloc(sizeof(Voo));
printf("Digite o numero do voo: ");
scanf("%d", &novo->numeroVoo);
printf("Informe a Data do voo: ");
scanf("%s", novo->data);
printf("Informe Horario do voo: ");
scanf("%s", novo->horario);
printf("Informe o Aeroporto de saida: ");
scanf("%s", novo->saida);
printf("Informe o Aeroporto de chegada: ");
scanf("%s", novo->chegada);
printf("Informe a Rota do voo: ");
scanf("%s", novo->rota);
printf("Informe o Tempo do voo: ");
scanf("%d", &novo->tempo);
printf("Informe Quantidade de Passageiros: ");
scanf("%d", &novo->passageiro);
novo-> prox = voo;
voo = novo;
}
void removerVoo(Voo* voo){
int numeroVoo, cont = 0, lidos, tORf = 0;
Voo* ant;
Voo* atual;
if (voo == NULL){
printf("Nao ha voos cadastrados!\n");
system("pause");
} else {
printf("Digite o numero do voo para remocao: ");
scanf("%d", &numeroVoo);
ant = voo;
while (ant->numeroVoo != numeroVoo && ant->prox != NULL){
ant = ant->prox;
cont++;
}
if (ant-> numeroVoo == numeroVoo){
cont--;
if (cont < 0){
voo = ant->prox;
free(ant);
} else {
atual = ant->prox;
free(&ant->prox);
ant = voo;
while (cont != 0){
cont --;
ant = ant->prox;
}
ant->prox = atual;
}
} else {
printf("Voo nao existe.\n");
system("pause");
...