Lista estática encadeada
// DEPARTAMENTO DE INFORMÁTICA
// ENGENHARIA DE SOFTWARE
// UNIVERSIDADE FEDERAL DE GOIÁS
#include <stdio.h>
#include <stdlib.h>
#define MaxElem 3
typedef struct{ int apartamento; char nome[50]; float valor_diaria; char data_inic[10]; //dd/mm/yyyy char data_fim[10]; //dd/mm/yyyy int prox;
}TipoDadosHospede;
typedef struct{ TipoDadosHospede vetor[MaxElem]; int prim; int ult; int dispo;
}ListaEncEst;
int MENU(); void InicializarListaEncEst(ListaEncEst *L); void InserirListaEncEst(ListaEncEst *L , TipoDadosHospede X); void ExibirListaEncEst (ListaEncEst *L); void LerDadosHospede ( TipoDadosHospede *X); void RemoverListaEncEst (ListaEncEst *L, TipoDadosHospede *X);
int main(){ int opcao; TipoDadosHospede hospede; ListaEncEst lista; InicializarListaEncEst(&lista); // inicializando a lista opcao=MENU(); //opcao é um int, e o retorno de MENU também é um int while (opcao!=4){ switch(opcao){ case 1: LerDadosHospede (&hospede); InserirListaEncEst (&lista, hospede); break; case 2: ExibirListaEncEst(&lista); break; case 3: printf("Apartamento do hospede: "); scanf("%d", &hospede.apartamento); RemoverListaEncEst(&lista, &hospede); break; case 4: break; } opcao=MENU(); } return 0;
}
//LER DADOS HOSPEDE void LerDadosHospede ( TipoDadosHospede *X){ printf ("\n\nApartamento:"); scanf ("%d" ,&X->apartamento); printf ("\nNome :"); scanf (" %[^\n]" ,X->nome);
}
//MENU // REVISADO int MENU(){ int opcao; printf ("[1] - Inserir\n"); printf ("[2] - Exibir\n"); printf ("[3] - Remover\n"); printf ("[4] - Sair\n"); printf