Você está na página 1de 6

//Classe dadosAviao.

c
#include "biblioteca.h"
void inicializaFila(tfila *fila){
fila->frente = ((ftcelula *) malloc (sizeof(ftcelula)));
fila->frente->prox = null;
}
void cadastrarTaxiamento(taxiamento x, tfila *fila){
aux = (ftcelula *) malloc (sizeof(ftcelula)); // aloca um espao na
memoria
fila ->tras = fila->tras->prox; //acessa a ultima celula
fila->tras->item = x; //atribui valor a nova celula
fila->tras->prox = NULL; //atribui valor nulo a prox mostrando que ele
a utlima celula da fila.
}
int vaziaFila(tfila *fila){
return (fila->frente->prox = NULL);
return 1;
else
return 0;
}
void imprimeFila(tfila *f)
{
tcelula * aux = p->tras->prox;
while (aux!=NULL){
printf("\t\t%d \n", aux->item);
aux = aux->prox;
}
}

void autorizaTaxiamento(tfila *fila, taxiamento x){
ftcelula *aux;
if (vazia(fila)){
printf("No existem taxiamentos a serem realizados");
}else {
aux = fila->frente;
fila->frente = fila-> frente->prox;
*x = fila->frente->item;
printf("%s", aux);
delete aux;
}
}

//Classe dadosBagagem.c
#include "biblioteca.h"
void inicializaPilha(tpilha *p){
p->topo = ((ptcelula *) malloc (sizeof(ptcelula)));
p->topo->prox = NULL;
}
int vaziaPilha (tpilha *p){
if (p->topo->prox = NULL)
return 1;
else
return 0;
}


void cadastrarBagagem (tbagagem b, tpilha *p){ ptcelula *aux;
aux = (ptcelula *) malloc (sizeof(ptcelula));
aux -> prox ->item = b;
p->topo = aux;
}
void recuperaBagagem (tpilha *p, tbagagem *x){
ptcelula *aux;
if (vaziaPilha(p))
printf("No existem bagagens\n");
else {
aux = p -> topo;
p->topo = p->topo->prox;
*x = p-> topo->item;
printf("%c",aux);
free aux;
}
}







//Biblioteca biblioteca.h
#include
#include

//estrutura para aviao
typedef struct {
int numeroVoo;
char modeloAviao;
char empresaAerea;
char horarioSaida;
} taxiamento;

typedef struct tcelula{
taxiamento item;
struct tcelula *prox;
}ftcelula;

typedef struct {
ftcelula *frente;
ftcelula *tras;
}tfila;

void inicializaFila(tfila *fila);
void cadastrarTaxiamento(taxiamento x, tfila *fila);
int vaziaFila(tfila *fila);
void imprimeFila(tfila *f);
void autorizaTaxiamento(tfila *fila, taxiamento x);

//estrutura para bagagem
typedef struct {
int codBagagem,
numVoo,
numPassagem;
char dataEmbarque,
horaEmbarque,
portaoEmbarque;
} tbagagem;

typedef struct celula{
tbagagem item;
struct celula *prox;
}ptcelula;

typedef struct {
ptcelula *topo;
}tpilha;

void inicializaPilha(tpilha *p);
int vaziaPilha (tpilha *p);
void cadastrarBagagem (tbagagem b, tpilha *p);
void recuperaBagagem (tpilha *p, tbagagem *x);

//Classe main.c
#include "biblioteca.h"
int menuGeral(){ //abre funo menu geral
int op;
printf("\t\t===Escolha umaopca===\n\n");
printf("\t\t1 - Controle taxiamento\n");
printf("\t\t2 - Controle bagegem\n");
printf("\t\t0 - sair\n\n");
printf("\t\tEscolha uma opcao: ");
scanf("%d", &op);
printf("\n\n");
return op;
} // fecha funcao menu geral
int main (){ //abre funao meain
//variaveis gerais
int op, opV, opB;
//variaveis para recebeminto dos dados de voo
tfila f;
taxiamento t;
inicializaFila(&f); //inicializa a fila f
//variaveis para recebimento dos dados de bagagem
tpilha p;
tbagagem b;
inicializaPilha(&p); //inicializa pilha p
do { //abre lao de repetio
op = menuGeral(); //recebe o parametro de menuGeral para iniciar o
case.
switch (op){ //abre switch
case 1:
//recebendo dados de voo
//receber opcao de menu para cadastrar voo
printf("\t\t===Taxiamento Areo===\n\n");
printf("\t\t1 - Cadastrar Decolagem \n");
printf("\t\t2 - Ver sequncia de decolagem\n");
printf("\t\t0 - sair\n\n");
printf("\t\tEscolha uma opcao: ");
scanf("%d", &opV);
printf("\n\n");
if (opV == 1){ // se a opcao for 1, ele ira recolher os dados do voo;
printf("informe o numero do voo");
scanf("%d", &t.numeroVoo);
printf("informe o modelo da aeronave");
scanf("%d", &t.modeloAviao);
printf("informe a empresa area");
scanf("%d", &t.empresaAerea);
printf("informe a hora de saida");
scanf("%d", &t.horarioSaida);

cadastrarTaxiamento(t, &f); //insere o voo cadastrado na fila de
decolagem
} else
if (opV==2){
autorizaTaxiamento (&f, t); //retira o voo da lista e imprime na tela para
o cliente ver a //sequencia de decolagens
} break;
case 2:
// recebendo dados de bagagem
printf("\t\t===Cadastro de Bagagem===\n\n");
printf("\t\t1 - Cadastrar Bagagem \n");
printf("\t\t2 - Recuperar bagagem\n");
printf("\t\t0 - sair\n\n");
printf("\t\tEscolha uma opcao: ");
scanf("%d", &opB);
printf("\n\n");
if (opV == 1){
printf("informe o cdigo da bagagem");
scanf("%d", &b.codBagagem);
printf("informe o numero do voo");
scanf("%d", &b.numVoo);
printf("informe o numero da passagem");
scanf("%d", &b.numPassagem);
printf("informe a data do embarque");
scanf("%s", &b.dataEmbarque);
printf("informe a hora do embarque");
scanf("%s", &b.horaEmbarque);
printf("informe o portao de embarque");
scanf("%s", &b.portaoEmbarque);
cadastrarBagagemo( b, &p);
} else
if (opV == 2){

void recuperaBagagem(&p, b); //retira bagagem da pilha e imprime na
tela para o usuario ver //a sequencia de retirada
}
}
while (op != 0); //fecha lao de repeticao quando o parametro em op
for 0
}
}

http://www.trabalhosfeitos.com/ensaios/Atps-Estrutura-De-Dados/44698687.html?_p=2

Você também pode gostar