// Inicio do progama #include<stdlib.h> #include<stdio.h> #define n 1000//DEFINE FACILITA ALTERAO DE NUMERO MAXIMO DE CADASTROS NA ESTRUTURA // STRUCT QUE CONTEM CADA CAMPO DA PASSAGEM EXETO O NUMERO DA PASSAGEM QUE E GERADO AUTOMATICAMENTE //ASSIM QUE A PASSAGEM E CADASTRADA struct passagem{ int num_voo;//ARMAZE A O NUMERO DO VOO char data_voo[10];//ARMAZE A A DATA DO VOO char hora_voo[5];//ARMAZENA A HORA DO VOO int num_portao;// ARMAZENA O NUMERO DO PORTAO int valida; // VALIDA NUMERO BUSCADO SE PASSAGEM EST CADASTRADA OU NO }; //OP E A VARIAVEL DE CONTROLE PARA OPES COMO CONTINUAR OU VOLTAR int op; int num_passagem=1,bpassagem;//NUM_PASSAGEM E A VARIAVEL QUE ARMAZENA O NUMERO DA PASSAGEM struct passagem ipassagem[n];// IPASSAGEM E O VETOR QUE ARMAZENA CADA PASSAGEM COMPLETA
void cadastro(){//FUNO RESPONSSAVEL PELO CADASTRO DA PASSAGEM
system("cls"); printf("\n---------CADASTRO DE PASSAGEM----------\n\n\n"); printf("\n DIGITE O NUMERO DO VOO:"); scanf("%d",&ipassagem[num_passagem].num_voo); printf("\n DIGITE A DATA DO VOO:"); scanf("%s",&ipassagem[num_passagem].data_voo); printf("\n DIGITE O HORARIO DO VOO:"); scanf("%s",&ipassagem[num_passagem].hora_voo); printf("\n DIGITE O NUMERO DO PORTAO:"); scanf("%d",&ipassagem[num_passagem].num_portao); printf("\n\n PARABENS SUA PASSAGEM FOI CADASTRADA COM SUCESSO! NUMERO DA PASSAGEM:%d\n",num_passagem); ipassagem[num_passagem].valida=1;//VALIDA QUE NESTA POSSIO DO VETOR EXISTE UMA PASSAGEM CADSTRADA num_passagem++;//IMCREMENTA 1 NO NUMERO DA PROXIMA PASSAGEM E O NUMERO DA POSIO QUE SERA SALVA
printf("\n DESEJA CADASTRAR OUTRA PASSAGEM? 1_sim, 2_nao\n 1 OU 2:"); scanf("%d",&op); if(op==2){op=3;} system("cls"); }
// FUNO RESPONSSAVEL PELA BUSCA DA PASSAGEM void busca(){ system("cls"); printf("\n-----------BUSCAR PASSAGEM---------\n"); printf("\n\n\n DIGITE O NUMERO DA PPASSAGEM:");
printf("\n\n PASSAGEM NAO CADASTRADA\n\n"); printf("\n\ DESEJA PROCURAR OUTRA PASSAGEM? 1_SIM 2_VOLTAR\n 1 OU 2:"); scanf("%d",&op); if(op==2){op=3;} if(op==1){op=2;} }else{
printf("\n SUA PASSGEM FOI ENCONTRADA:\n\n"); printf("\n NUMERO DA PASSAGEM:%d\n",bpassagem); printf("\n NUMERO DO VOO:%d\n",ipassagem[bpassagem].num_voo); printf("\n DATA DO VOO:%s\n",ipassagem[bpassagem].data_voo); printf("\n HORARIO DO VOO:%s\n",ipassagem[bpassagem].hora_voo); printf("\n NUMERO DO PORTAO:%d\n",ipassagem[bpassagem].num_portao); printf("\n\ DESEJA PROCURAR OUTRA PASSAGEM? 1_SIM 2_VOLTAR\n 1 OU 2:"); scanf("%d",&op); if(op==2){op=3;} if(op==1){op=2;} } }
main(){ int p; for(p=0;p<n;p++){
ipassagem[p].valida=0; // PREENCHE TODOS OS CAMPOS VALIDA DAS STRUCTS COM 0
}while(sequencia!='s');// SEMPRE QUE USUARIO DIGITAR 3 ELE FEXA O PROGAMA }
// Fim do progama
Relatrio
Funes O programa para cadastro e busca de passagem foi desenvolvida baseada em duas funes a funo cadastro responsvel por realizar cadastros das passagens e a funo busca responsvel por buscar as passagens mostra-las na tela. Estruturas O programa possui basicamente uma estrutura cadastro que possui as informaes referentes a passagem e o campo valida que informa se a posio no vetor j est preenchida com uma passagem. O programa e controlado por um lao do while e dois laos while.O primeiro valida at quando o programa ser executado caso usurio deseje sair j os seguintes servem para acessar as duas funes bsicas do programa (cadastrar, e consultar) e repeti-las enquanto o usurio desejar e voltar ao menu principal sempre que o usurio quiser. Funo cadastro Funo armazena cada passagem na varivel do tipo struct passagem ipassagem que possui [n] posies. Cada cadastro de passagem recebe automaticamente um numero de passagem referenciado pela varivel num_passagem que comea com 1 e vai incrementando de acordo com o numero de cadastros; O programa gera um numero nico para cada passagem que por sinal e exatamente o numero da posio que a passagem est armazenada no vetor ipassagem auxiliando muito na sua busca da passagem posteriormente. Funo busca Como o programa foi projetado de maneira que o numero da passagem seja igual o numero da posio que ela esta armazenada se torna muito fcil realizar a busca da passagem. Para buscar uma passagem basta o usurio digitar o numero da passagem que ser armazenado na varivel bpassagem posteriormente ser feita uma simples validao caso o campo valida desta passagem esteja com 0 a passagem procurada no est cadastrada e isso ser informado para o usurio caso o campo valida da passagem esteja com 1 ser informado que a passagem foi encontrada e mostrar para o usurio todos campos de sua passagem. Ex: Printf(digite o numero de sua passagem); Scanf(%d,&bpassagem); If(bpassagem==0){ printf( a passagem no est cadastrada); } If(bpassagem==1){ Printf(o numero da passagem e %d:,bpassagem) Printf(o numero do voo e: %d,ipassagem[bpassagem].num_voo); Printf(a data do voo e: %d,ipassagem[bpassagem].data_voo); Printf(o hora do voo e: %d,ipassagem[bpassagem].hora_voo); Printf(o numero do portao e: %d,ipassagem[bpassagem].num_portao);