Documente Academic
Documente Profesional
Documente Cultură
4 SEMESTRE CARLOS ALBERTO DE OLIVEIRA RA 1299875714 FBIO DOS SANTOS DE OLIVEIRA RA 3776762381 JAILTON DE JESUS OLIVEIRA RA 1299903880 MARCOS VINCIUS CASTRO E SILVA RA 3708614962 TANIA MORENO PRADO DE CARVALHO RA 1299931938 VINCIUS TADEU DOS SANTOS RA 4206796562
ESTRUTURA DE DADOS ATPS - ETAPA 2 Alocao Dinmica de Memria Relatrio 2 - Listas Ligadas
ALOCAO DINMICA DE MEMRIA Na 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).
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();
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: ");
//Funcao Cadastrar void 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(". . . . . . . . . . . . . . .\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"); }
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();
} }
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)