Alocação Estática de Memória
Por: eduardamaia17 • 19/12/2017 • 819 Palavras (4 Páginas) • 324 Visualizações
...
}
Relatório 2 – Listas ligadas
Etapa 2
Passo 2
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <conio.h>
//Controle de lista utilizando struct voostruct voo
{
int passageiros,numerovoo;
char aerosaida[30], aerochegada[30],rota[40],datavoo[20],horavoo[10],tempovoo[10];
struct voo *prox;
};
typedef struct voo lista;
lista *inicio=NULL;
lista *atual=NULL;
lista *anterior=NULL;
void inicializa()
{inicio =(lista*) malloc (sizeof (lista));
if (!inicio)
{ printf("\nNao existe espaco na memoria!");
exit(1);
}inicio->prox = NULL;}
void menu()
{
system("cls");
printf("\n\t\t\t BEM VINDO A VOEBEM"); printf("\n\n1 - Cadrastrar Voo\t2 - Remover Voo\n3 - Consultar Voo\t4 - Sair da aplicacao\n\n");
printf("Digite sua opcao a seguir: ");
}
void finaliza()
{
atual = inicio;
while (atual != NULL)
{
inicio = atual->prox;
free(atual);
atual = inicio;
}
}
void cadastrarVoo() //CADASTRAR O VOO
{
int encontrou=0;
lista *novo=NULL;
novo = (lista*) malloc (sizeof (lista));
if (!novo)
{ printf("\nNao existe espaco na memoria!");
exit(1);}
printf("\nDigite o numero do Voo: ");
scanf("%d",&novo->numerovoo);
for (atual=inicio->prox; atual!=NULL; atual=atual->prox)
{
if(novo->numerovoo == atual->numerovoo) // JA EXISTE
encontrou=1;
}
if(encontrou==1)
{
printf("\n Voo ja cadastrado");
system("pause");
}
else
{
printf("\nDigite o data do Voo: ");
scanf("%s", &novo->datavoo);
printf("\nHorario do Voo: ");
scanf("%s", &novo->horavoo);
fflush(stdin);
printf("\nAeroporto de Saida: ");
gets(novo->aerosaida);
printf("\nAeroporto de Chegada: ");
gets(novo->aerochegada);
printf("\nDigite a rota de Voo: ");
gets(novo->rota);
printf("\nTempo estimado de Voo: ");
gets(novo->tempovoo);
printf("\nNumero de passageiros a bordo: ");
scanf("%d", &novo->passageiros);
if (inicio->prox == NULL){
inicio->prox = novo;
novo->prox = NULL; }
else
{novo->prox=NULL;
anterior->prox=novo;
}
anterior=novo;
}
}
void consultaVoo()
{
int consultV,encontrou=0;
printf("\n\n Consulte o numero do Voo: ");
scanf("%d",&consultV);
if (inicio->prox==NULL)
printf("\nVoo nao encontrado!\n");
else{
for (atual=inicio->prox; atual!=NULL && encontrou!=1; atual=atual->prox){
if (consultV==atual->numerovoo){
printf("\n\nNumero de voo encontrado!\n");
printf("\n\nNumero do voo: %d\n",atual->numerovoo);
printf("Data do voo: %s\n",atual->datavoo);
printf("Horario do embarque: %s\n",atual->horavoo);
printf("Aeroporto de saida: %s\n",atual->aerosaida);
printf("Aeroporto de chegada: %s\n",atual->aerochegada);
...