ATPS - Richard
Por: giovani1403 • 26/11/2015 • Monografia • 716 Palavras (3 Páginas) • 297 Visualizações
ANHANGUERA EDUCACIONAL
CIENCIA DA COMPUTAÇÃO
BRUNO ADALBERTO REIS RA: 9088477538
GIOVANI JOSE SIQUEIRA RA: 9897525281
HEBER FILIPE GARCIA RODRIGUES RA: 9911156443
JOSE LEANDRO DE OLIVEIRA RA: 8413970137
WAGNER NEUZI DE SOUZA RA: 8074847874
BAURU
2015
SUMÁRIO
Relatório 2 – Estrutura de Dados
- Código Etapa 2 – Passo 22
- Código Etapa 3 – Passo 312
Referencias19
BAURU
2015
- Etapa 2 – passo 1
#include
#include
#include
enum boolean {
true = 1, false = 0
};
typedef enum boolean bool;
struct Voo {
int numvoo ;
char datvoo ;
char horvoo ;
char aersaida ;
char aerchegada ;
char rota ;
char tempvoo ;
char pasabordo ;
struct Voo *prox;
};
struct Voo *aux, *inicio = NULL, *final = NULL;
struct Voo* cria(void)
{
return NULL;
}
struct Voo* insere()
{
char dtvoo;
char hrvoo,rt;
char arsaida,archegada;
char tpvoo,pasbordo;
int nv;
fflush(stdin);
printf("Digite o numero do voo: \n");
scanf("%d",&nv);
printf("Digite a data do voo: \n");
scanf("%s",&dtvoo);
printf("Digite o horario do voo: \n");
fflush(stdin);
scanf("%s",&hrvoo);
printf("Digite o Aeroporto de saida: \n");
fflush(stdin);
scanf("%s",&arsaida);
printf("Digite o Aeroporto de chegada: \n");
fflush(stdin);
scanf("%s",&archegada);
printf("Digite a rota: \n");
fflush(stdin);
scanf("%s",&rt);
printf ("Digite o tempo estimado de voo: \n");
fflush(stdin);
scanf("%s",&tpvoo);
printf ("Passageiros a bordo: \n");
fflush(stdin);
scanf ("%s",&pasbordo);
aux = (struct Voo*) malloc (sizeof(struct Voo));
aux->numvoo=nv;
aux->datvoo=dtvoo;
aux->horvoo=hrvoo;
aux->aersaida=arsaida;
aux->aerchegada=archegada;
aux->rota=rt;
aux->tempvoo=tpvoo;
aux->pasabordo=pasbordo;
aux -> prox = (struct Voo *) NULL;
if(inicio == NULL)
inicio = final = aux;
else
{
final -> prox = aux;
final = aux;
}
return inicio;
}
int lista_vazia(struct Voo *lista)
{
if(lista == NULL)
return 1;
else
return 0;
}
void visualiza_lista (struct Voo *lista)
{
if(!lista_vazia(lista))
{
aux = lista;
while(aux != (struct Voo *) NULL)
{
printf("Voo: %i\n", aux->numvoo);
printf("Data do Voo: %s\n", aux->datvoo);
printf("Horario do Voo: %s\n", aux->horvoo);
printf("Aeroporto de saida: %s\n", aux->aersaida);
printf("Aeropotyo de chegada: %s\n", aux->aerchegada);
printf("Rota: %s\n", aux->rota);
printf("Tempo de Voo:%s\n",aux->tempvoo);
printf("Numero de passageiros:%s\n",aux->pasabordo);
aux = aux -> prox;
}
}
else
printf("\nSem Voos marcados!");
getch();
}
struct Voo* busca(struct Voo* lista, int busca)
{
bool achou = 0;
if(!lista_vazia(lista))
{
for(aux=lista;aux!=NULL;aux=aux->prox)
if(aux->numvoo == busca)
{
printf("Voo encontrado: \n");
printf("Voo: %i\n", aux->numvoo);
printf("Data do Voo: %s\n", aux->datvoo);
printf("Horario do Voo: %s\n", aux->horvoo);
printf("Aeroporto de saida: %s\n", aux->aersaida);
printf("Aeropotyo de chegada: %s\n", aux->aerchegada);
printf("Rota: %s\n", aux->rota);
printf("Tempo de Voo:%s\n",aux->tempvoo);
printf("Numero de passageiros:%s\n",aux->pasabordo);
achou = 1;
}
if(!achou)
printf("Voo não encontrado !\n");
}
else
{
printf("\nNao a Voos marcados.");
}
getch();
return NULL;
}
struct Voo* excluir(struct Voo *lista, char numvoo)
{
struct Voo *ant = NULL;
aux = lista;
if(!lista_vazia(lista))
{
while(aux!= NULL && aux->numvoo != numvoo)
{
ant = aux;
aux = aux->prox;
}
if(aux == NULL)
{
printf("\nNao foi possivel a exclusao. Voo nao encontrado!");
getche();
return lista;
}
if(ant == NULL)
lista = aux->prox;
else
ant->prox = aux->prox;
free(aux);
printf("Voo removido com sucesso!\n");
getche();
return lista;
}
else
{
printf("\nTentou remover um Voo inexistente.");
getche();
return lista;
}
}
int main(int argc, char *argv[])
{
int op, vremover, vbuscar;
struct Voo *lista;
lista = cria();
...