ATPS - 1ºB - Estrutura de Dados - Etapa 2

Embed Size (px)

Citation preview

UNIVERSIDADE BANDEIRANTE ANHANGUERATECNOLOGIA DE ANLISE E DESENVOLVIMENTO DE SISTEMAS

4 SEMESTRECARLOS ALBERTO DE OLIVEIRA RA 1299875714FBIO DOS SANTOS DE OLIVEIRA RA 3776762381JAILTON DE JESUS OLIVEIRA RA 1299903880MARCOS VINCIUS CASTRO E SILVA RA 3708614962TANIA MORENO PRADO DE CARVALHO RA 1299931938VINCIUS TADEU DOS SANTOS RA 4206796562

ESTRUTURA DE DADOSATPS - ETAPA 2 Alocao Dinmica de MemriaRelatrio 2 - Listas Ligadas

ORIENTADOR CSAR KIEL

So Paulo, setembro 2013

alocao DINMICA de memriaNa alocao dinmica podemos alocar espaos de memria que no precisam estar organizados de maneira sequencial, podendo estar distribudos de forma dispersa (no ordenada) na memria do computador, pois os dados no precisam ter um tamanho fixo e podemos definir para cada dado quanto de memria que desejamos usar. Solicitar para alocar/deslocar blocos de memria, de acordo com a nossa necessidade, reservando ou liberando blocos de memria durante a execuo do programa. Para encontrarmos os blocos que esto dispersos ou espalhados na memria usamos as variveis do tipo Ponteiro (indicadores de endereos de memria).

programa em c#include#include#include

struct voo

{int num_voo;int data_voo;int horario;char saida[45];char chegada[45];char rota[60];int estimativa;int passabordo;};

void menu();void consultar();void cadastro();void selecao();void excluir();

struct voo *inf;main()

{menu();return 0;system("pause");

}void menu(){printf("\n Empresa VOEBEM \n");printf(". . . . . . . . . . . . . . .\n");printf("Escolha uma opcao abaixo \n");printf(". . . . . . . . . . . . . . .\n");printf("1 - Cadastrar Passagem \n");printf("2 - Consultar Passagem \n");printf("3 - Excluir Passagem \n");printf("0 - Sair \n");printf(". . . . . . . . . . . . . . .\n");selecao();}void selecao(){int opcao;printf("\nDigite uma das opcoes: ");

scanf("%i", &opcao);switch (opcao){case 1:cadastro();menu();break;

case 2:consultar();menu();break;

case 3:excluir();menu();break;case 0:system("pause");exit(0);break;

default:printf("\n\nOpcaonao encontrada.\nTente Novamente\n\n");system("pause");system("cls");menu();break;}}

//Funcao Cadastrarvoid cadastro(){int num;do{inf = (struct voo *) malloc(sizeof(struct voo));printf("\n\n*****CADASTRO DE VOO*****\n");printf("\nNumero do voo: ");scanf("%d", &inf->num_voo);fflush(stdin);

printf("\nData do voo: ");scanf("%d", &inf->data_voo);

printf("\nHorario do voo: ");scanf("%d", &inf->horario);

printf("\nAeroporto de saida: ");fflush(stdin);gets(inf->saida);printf("\nAeroporto de chegada: ");fflush(stdin);gets(inf->chegada);

printf("\nRota do voo: ");fflush(stdin);gets(inf->rota);

printf("\nEstimativa de voo: ");scanf("%d", &inf->estimativa);fflush(stdin);

printf("\nPassageiros a bordo: ");fflush(stdin);scanf("%d", &inf->passabordo);

printf(". . . . . . . . . . . . . . .\n");printf("Escolha uma opcao abaixo: \n");printf("1 - Cadastrar outra Passagem \n");printf("0 - Voltar ao menu \n");printf(". . . . . . . . . . . . . . .\n");printf("Opcao: ");scanf("%d",&num);

}while(num!=0);system("cls");}

void excluir(){menu();}

//Funcao Consultarvoid consultar(){system("cls");int consult;

printf("Digite o numero do voo: ");scanf("%d", &consult);

if(inf->num_voo!=consult){printf("Numero nao encontrado\n");printf("Tente Novamente");getch();system("cls");consultar();}

else {printf("\n-----------------------------");printf("\nNumero do Voo encontrado");printf("\nNumero do Voo: %d ", inf->num_voo);printf("\n\nData do Voo: %d ", inf->data_voo);printf("\nHorario do voo: %d", inf->horario);printf("\nAeroporto de Saida: %s ", &inf->saida);printf("\nAeroporto de Chegada: %s", &inf->chegada);printf("\nRota: %s", &inf->rota);printf("\nEstimativa de voo: %d", inf->estimativa);printf("\nPassageiros a bordo: %d", inf->passabordo);getche();

menu();

}}BIBLIOGRAFIAAlocao Dinmica de MemriaDisponvel no site www.docs.google.comhttps://docs.google.com/open?id=0B_uLQd5hdqlWTVFzdzZRYTZSSDJRRm9hLVg1RjRxZw>Acesso em 28 de setembro de 2013

Estrutura de Dados usando C - Captulo 4: Filas e Listas (TENEMBAUM, A.; LANGSAM, Y.; AUGESTEIN, M.. 1 ed. So Paulo: Pearson, 2005. p. 223 a 265)

Lista Simplesmente Encadeada. Disponvel no site www.docs.google.comhttps://docs.google.com/open?id=0B_uLQd5hdqlWQXdYT19jQUJUd2Vob1BYQ3dWZEkydwAcesso em 28 de setembro de 2013