atps dados

Embed Size (px)

DESCRIPTION

atps

Citation preview

Untitled#include #include #include //---------------------------------------------------------------------------------- struct Voo { int numerovoo; char datavoo[50]; char horavoo[50]; char aeroportosaida[50]; char aeroportochegada[50]; char rota[50]; char tempodevoo[50]; int qtpassageiros; struct Voo *prox; };//---------------------------------------------------------------------------------- struct Cadastros_voos { struct Voo *inicio; struct Voo *fim; };//---------------------------------------------------------------------------------- struct Passagens { int numerovoo; int numeropassagem; char dataembarque[50]; char horaembarque[50]; char portaoembarque[50]; struct Passagens *prox; };//---------------------------------------------------------------------------------- struct Cadastros_passagens { struct Passagens *iniciop; struct Passagens *fimp; };//---------------------------------------------------------------------------------- int passagemvazio(struct Cadastros_passagens *empp); void construtorpassagem (struct Cadastros_passagens *empp); int cadastrarPassagem(struct Cadastros_passagens *empp, struct Passagens passagens); void consultarPassagem(struct Cadastros_passagens *empp, int numpassagem); int voovazio(struct Cadastros_voos *emp); void construtor (struct Cadastros_voos *emp); int cadastrarVoo(struct Cadastros_voos *emp, struct Voo voo); void consultarVoo(struct Cadastros_voos *emp, int numvoo); int removeVoo(struct Cadastros_voos *emp);//---------------------------------------------------------------------------------- int main() { struct Voo v; struct Cadastros_voos emp; construtor(&emp); struct Passagens vp; struct Cadastros_passagens empp; construtorpassagem(&empp); int opcaomain; int opcao; int pesquvoo; int pesqupass; while(opcaomain !=4) { int opcaomain=0; int opcao =0; int pesquvoo=0; int opcaopassagem=0; int pesqupass=0; printf("\n*** EMPRESA VOEBEM ***\n\n"); printf("Bem vindo\n\n"); printf("Menu:\n\n"); printf("1-Menu de cadastros de Voos;\n"); printf("2-Menu de cadastro de Passagens;\n"); printf("4-Sair\n"); //------------- Inicio Estrutura de verificacao do{ printf("\nEntre com a escolha: "); scanf("%d",&opcaomain); if(opcaomain!=1 && opcaomain!= 2 && opcaomain!=4) { printf("Por favor, insira uma opcao valida.\n"); } }while(opcaomain !=1 && opcaomain!= 2 && opcaomain!=4); //------------- Fim Estrutura de verificacao system("cls"); switch(opcaomain) { case 1: while(opcao != 4) { printf("\n*** EMPRESA VOEBEM ***\n\n"); printf("Cadastro de Voos.\n\n"); printf("Menu:\n\n"); printf("1-Cadastrar Voo;\n"); printf("2-Consultar Voo;\n"); printf("3-Excluir Voo\n"); printf("4-Sair\n"); //------------- Inicio Estrutura de verificacao do{ printf("\nEntre com a escolha: "); scanf("%d",&opcao); if(opcao!=1 && opcao!= 2&& opcao!= 3 && opcao!=4) { printf("Por favor, insira uma opcao valida.\n"); } }while(opcao !=1 && opcao!= 2&& opcao!= 3 && opcao!=4); //-------------Fim Estrutura de verificacao switch(opcao) { case 1: system("cls"); printf("------CADASTRO DE VOO------\n"); printf("\n Informe o numero do Voo: "); scanf("%d",&v.numerovoo); fflush(stdin); printf("\n Informe a data do voo(DD/MM/AAAA): "); gets(v.datavoo); printf("\n Informe a Hora do voo(HH:MM): "); gets(v.horavoo); printf("\n Informe aeroporto de saida: "); gets(v.aeroportosaida); printf("\n Informe o aeroporto Destino: "); gets(v.aeroportochegada); fflush(stdin); printf("\n Informe a Rota: "); gets(v.rota); fflush(stdin); printf("\n Informe o tempo de voo: "); gets(v.tempodevoo); fflush(stdin); printf("\n Informe o Numero de Passageiros: "); scanf("%d",&v.qtpassageiros); cadastrarVoo(&emp,v); system("cls"); break; case 2: system("cls"); printf("Qual numero de Voo deseja pesquisar?\n"); scanf("%d",&pesquvoo); consultarVoo(&emp, pesquvoo); system("cls"); break; case 3: if(removeVoo(&emp)==1) { printf("Primeiro Voo da lista removido com sucesso.\n"); system("pause"); }else { printf("FALHA!!!\n"); system("pause"); } system("cls"); break; case 4: system("cls"); break; default: printf("opcao invalida, tente novamente\n"); system("pause"); system("cls"); break; } } break; case 2: while(opcaopassagem != 4) { printf("\n*** EMPRESA VOEBEM ***\n\n"); printf("Cadastro de Passagens.\n\n"); printf("Menu:\n\n"); printf("1-Cadastrar Passagem;\n"); printf("2-Consultar Passagem;\n"); printf("4-Sair\n"); //------------- Inicio Estrutura de verificacao do{ printf("\nEntre com a escolha: "); scanf("%d",&opcaopassagem); if(opcaopassagem!=1 && opcaopassagem!= 2 && opcaopassagem!=4) { printf("Por favor, insira uma opcao valida.\n"); } }while(opcaopassagem !=1 && opcaopassagem!= 2 && opcaopassagem!=4); //------------- Fim Estrutura de verificacao switch(opcaopassagem) { case 1: system("cls"); printf("------CADASTRO DE PASSAGENS------\n"); printf("\n Informe o numero do Voo: "); scanf("%d",&vp.numerovoo); fflush(stdin); printf("\n Informe o numero da Passagem: "); scanf("%d",&vp.numeropassagem); fflush(stdin); printf("\n Informe a data do embarque(DD/MM/AAAA): "); gets(vp.dataembarque); printf("\n Informe a Hora do embarque(HH:MM): "); gets(vp.horaembarque); printf("\n Informe o portao do embarque: "); gets(vp.portaoembarque); cadastrarPassagem(&empp,vp); system("cls"); break; case 2: system("cls"); printf("Qual numero de Passagem deseja pesquisar?\n"); scanf("%d",&pesqupass); consultarPassagem(&empp, pesqupass); system("cls"); break; case 4: system("cls"); break; default: printf("opcao invalida, tente novamente\n"); system("pause"); system("cls"); break; } break; case 4: system("cls"); printf("\nPrograma finalizado\n."); return 1; } } }return 0;}//Inicio estrutura de cadastros voos void construtor (struct Cadastros_voos *emp) { emp->inicio=NULL; emp->fim=NULL; } int voovazio(struct Cadastros_voos *emp) { if(emp->inicio==NULL) { return 1; }else { return 0; } }//---------------------------------------------------------------------------------- int cadastrarVoo(struct Cadastros_voos *emp, struct Voo voo) { struct Voo *novovoo; novovoo=(struct Voo*) malloc(sizeof(struct Voo)); if(novovoo!=NULL) { novovoo->numerovoo = voo.numerovoo; strcpy(novovoo->datavoo, voo.datavoo); strcpy(novovoo->horavoo, voo.horavoo); strcpy(novovoo->aeroportosaida, voo.aeroportosaida); strcpy(novovoo->aeroportochegada, voo.aeroportochegada); strcpy(novovoo->rota, voo.rota); strcpy(novovoo->tempodevoo,voo.tempodevoo); novovoo->qtpassageiros = voo.qtpassageiros; novovoo->prox=NULL; if(voovazio(emp)>0) { emp->inicio=novovoo; emp->fim=novovoo; } else { emp->fim->prox=novovoo; emp->fim=novovoo; } } printf("\n Voo Cadastrado com sucesso\n"); system("pause"); return 0; }//---------------------------------------------------------------------------------- void consultarVoo(struct Cadastros_voos *emp, int numvoo) { struct Voo *v; int verificador = 0; v=emp->inicio; if(emp->inicio== NULL) { printf("Nao existe Voo cadastrado.\n"); system("pause"); }else{ while(v!=NULL) { if (v->numerovoo==numvoo) { verificador = 1; printf("--------------------------------------\n"); printf("\n Informacoes do Voo numero %d\n",v->numerovoo); printf(" Data: %s\n", v->datavoo); printf(" Hora: %s\n",v->horavoo); printf(" Aeroporto de Saida: %s\n",v->aeroportosaida); printf(" Aeroporto Destino: %s\n",v->aeroportochegada); printf(" Rota Utilizada: %s\n",v->rota); printf(" Tempo de Voo: %s\n",v->tempodevoo); printf(" Numero de Passageiros: %d\n",v->qtpassageiros); printf("--------------------------------------\n"); } v=v->prox; } if (verificador == 0) { printf("Nao existe Voo com este numero cadastrado, tente novamente\n"); } system("pause"); system("cls"); } }//---------------------------------------------------------------------------------- int removeVoo(struct Cadastros_voos *emp) { struct Voo *v; if(voovazio(emp)==0) { v = emp->inicio; emp->inicio = v->prox; free(v); if(emp->inicio==NULL)if(voovazio(emp)>0) { emp->fim=NULL; } } return 1; }//Fim estrtura cadastrovoos//Inicio Estrutura cadastropassaagens void construtorpassagem (struct Cadastros_passagens *empp) { empp->iniciop=NULL; empp->fimp=NULL; } int passagemvazio(struct Cadastros_passagens *empp) { if(empp->iniciop==NULL) { return 1; }else { return 0; }}//---------------------------------------------------------------------------------- int cadastrarPassagem(struct Cadastros_passagens *empp, struct Passagens passagens) { struct Passagens *novopassagem; novopassagem=(struct Passagens*) malloc(sizeof(struct Passagens)); if(novopassagem!=NULL) { novopassagem->numerovoo = passagens.numerovoo; novopassagem->numeropassagem = passagens.numeropassagem; strcpy(novopassagem->dataembarque, passagens.dataembarque); strcpy(novopassagem->horaembarque, passagens.horaembarque); strcpy(novopassagem->portaoembarque, passagens.portaoembarque); novopassagem->prox=NULL; if(passagemvazio(empp)>0) { empp->iniciop=novopassagem; empp->fimp=novopassagem; } else { empp->fimp->prox=novopassagem; empp->fimp=novopassagem; } } printf("\n Passagem Cadastrada com sucesso\n"); system("pause"); return 0; }//---------------------------------------------------------------------------------- void consultarPassagem(struct Cadastros_passagens *empp, int numpassagem) { struct Passagens *vp; int verificador = 0; vp=empp->iniciop; if(empp->iniciop== NULL) { printf("Nao existe Passagem cadastrada.\n"); system("pause"); }else{ while(vp!=NULL) { if (vp->numeropassagem==numpassagem) { verificador = 1; printf("--------------------------------------\n"); printf("Informacoes da Passagem numero: %d\n",vp->numeropassagem); printf("Data: %s\n", vp->dataembarque); printf("Hora: %s\n",vp->horaembarque); printf("Portao de Embarque: %s\n",vp->portaoembarque); printf("--------------------------------------\n"); } vp=vp->prox; } if (verificador == 0) { printf("Nao existe Passagem com este numero cadastrado, tente novamente\n"); } system("pause"); system("cls"); }}