Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include <iostream> #include <stdio.h> #include <stdlib.h> #include<conio.h> typedef struct dados{ int tipo; char nome[30]; char endereco[30]; char tel1[30]; char tel2[30]; char email[30]; struct dados *prox; struct dados *ant; }dados; void busca_vet(dados vet[],char busca[],int op_busca,int cont){ int encontrou=0; int k=0; if(cont==-1) printf("Arquivo Vazio"); else { if(op_busca==1){ while(encontrou==0){ if(strcmp(vet[k].nome,busca)==0){ printf("Nome encontrado"); printf("\n"); printf("POSICAO %d",k); printf("\n"); printf("\n"); printf("Tipo: %d",vet[k].tipo); printf("\n"); printf("Nome: %s",vet[k].nome); printf("\n"); printf("Endereco: %s",vet[k].endereco); printf("\n"); printf("Tel1:%s",vet[k].tel1); printf("\n"); printf("tel2: %s",vet[k].tel2); printf("\n"); printf("Email: %s",vet[k].email); printf("\n"); printf("\n"); system("pause"); encontrou=1; } if(k>cont){ printf("Nao achou"); printf("\n"); system("pause"); encontrou=1; } k++; } } if(op_busca==2){ while(encontrou==0){ if(strcmp(vet[k].endereco,busca)==0){ printf("Nome encontrado"); printf("\n"); printf("POSICAO %d",k); printf("\n"); printf("\n"); printf("Tipo: %d",vet[k].tipo); printf("\n"); printf("Nome: %s",vet[k].nome); printf("\n"); printf("Endereco: %s",vet[k].endereco); printf("\n"); printf("Tel1:%s",vet[k].tel1); printf("\n"); printf("tel2: %s",vet[k].tel2); printf("\n"); printf("Email: %s",vet[k].email); printf("\n"); printf("\n"); system("pause"); encontrou=1; } if(k>cont){ printf("Nao achou"); printf("\n"); system("pause"); encontrou=1; } k++; } } if(op_busca==3){ while(encontrou==0){ if((strcmp(vet[k].tel1,busca)==0)||(strcmp(vet[k].tel2,busca)==0)){ printf("Nome encontrado"); printf("\n"); printf("POSICAO %d",k); printf("\n"); printf("\n"); printf("Tipo: %d",vet[k].tipo); printf("\n"); printf("Nome: %s",vet[k].nome); printf("\n"); printf("Endereco: %s",vet[k].endereco); printf("\n"); printf("Tel1:%s",vet[k].tel1); printf("\n"); printf("tel2: %s",vet[k].tel2); printf("\n"); printf("Email: %s",vet[k].email); printf("\n"); printf("\n"); system("pause"); encontrou=1; } if(k>cont){ printf("Nao achou"); printf("\n"); system("pause"); encontrou=1; } k++; } } if(op_busca==4){ while(encontrou==0){ if(strcmp(vet[k].email,busca)==0){ printf("Nome encontrado"); printf("\n"); printf("POSICAO %d",k); printf("\n"); printf("\n"); printf("Tipo: %d",vet[k].tipo); printf("\n"); printf("Nome: %s",vet[k].nome); printf("\n"); printf("Endereco: %s",vet[k].endereco); printf("\n"); printf("Tel1:%s",vet[k].tel1); printf("\n"); printf("tel2: %s",vet[k].tel2); printf("\n"); printf("Email: %s",vet[k].email); printf("\n"); printf("\n"); system("pause"); encontrou=1; } if(k>cont){ printf("Nao achou"); printf("\n"); system("pause"); encontrou=1; } k++; } } }} void bolha(dados Vet[],int cont,int op_ordena){ int n,j; dados aux; if(op_ordena==1) { for(n=1;n<=cont;n++){ for(j=cont;j>= n;j--){ if(strcmp(Vet[j].nome,Vet[j-1].nome)==-1){ aux = Vet[j]; Vet[j] = Vet[j-1]; Vet[j-1] = aux; } } } } else if(op_ordena==2){ for(n=1;n<=cont;n++){ for(j=cont;j>= n;j--){ if(strcmp(Vet[j].endereco,Vet[j-1].endereco)==-1){ aux = Vet[j]; Vet[j] = Vet[j-1]; Vet[j-1] = aux; } } } } else if(op_ordena==3){ for(n=1;n<=cont;n++){ for(j=cont;j>= n;j--){ if(strcmp(Vet[j].email,Vet[j-1].email)==-1){ aux = Vet[j]; Vet[j] = Vet[j-1]; Vet[j-1] = aux; } } } } } void armazena(dados vet[],int cont){ dados i; int k; FILE *arq; arq=fopen("agenda.txt","w+b"); for(k=0;k<=cont;k++){ i=vet[k]; fwrite(&i, sizeof(dados),1,arq); } fclose(arq); } int recupera(dados vet[]){ int k=-1; dados agenda; FILE *arq; arq=fopen("agenda.txt","rb"); while(fread(&agenda, sizeof(dados),1,arq)){ k++; vet[k]=agenda; } fclose(arq); return k; } int main(){ int s; int op_ordena; dados vet[100]; int cont=-1; dados agenda; int opcao; int op_busca; char busca[30]; cont=recupera(vet); while(opcao!=4){ system("cls"); printf("\n"); printf("\n"); printf("Digite *1* para cadastrar pessoa/empresa"); printf("\n"); printf("\n"); printf("Digite *2* para Fazer uma pesquisa"); printf("\n"); printf("\n"); printf("Digite *3* ordenar"); printf("\n"); printf("\n"); printf("Digite *4* para sair "); printf("\n"); scanf("%d", &opcao); system("cls"); switch (opcao){ case 1: printf("\n"); printf("\n"); printf("Digite 0 para cadastrar pessoa, 1 para empresa. "); printf("\n"); scanf("%d", &agenda.tipo); printf("\n"); fflush(stdin); printf("Digite o Nome"); printf("\n"); scanf("%[^\n]s", &agenda.nome); fflush(stdin); printf("\n"); printf("Digite o Endereco"); printf("\n"); scanf("%[^\n]s", &agenda.endereco); fflush(stdin); printf("\n"); printf("Digite o Telefone 1"); printf("\n"); scanf("%[^\n]s", &agenda.tel1); fflush(stdin); printf("Digite o Telefone 2"); printf("\n"); scanf("%[^\n]s", &agenda.tel2); fflush(stdin); printf("Digite o email"); printf("\n"); scanf("%[^\n]s", &agenda.email); fflush(stdin); system("pause"); cont++; vet[cont]=agenda; break; case 2: printf("\n"); printf("\n"); printf("Digite *1* para fazer pesquisa por *NOME* "); printf("\n"); printf("\n"); printf("Digite *2* para fazer pesquisa por *ENDERECO* "); printf("\n"); printf("\n"); printf("Digite *3* para fazer pesquisa por *TELEFONE* "); printf("\n"); printf("\n"); printf("Digite *4* para fazer pesquisa por *EMAIL* "); printf("\n"); printf("\n"); scanf("%d", &op_busca); printf("\n"); fflush(stdin); if((op_busca>=1)&&(op_busca<=4)){ printf("Digite a string de busca "); scanf("%[^\n]s",&busca); printf("\n"); printf("\n"); busca_vet(vet,busca,op_busca,cont); } else { printf("\n"); printf("Opcao invalida!"); printf("\n"); system("pause"); } break; case 3: printf("\n"); printf("\n"); printf("Digite *1* para ordenar por nome."); printf("\n"); printf("\n"); printf("Digite *2* para ordenar por endereco."); printf("\n"); printf("\n"); printf("Digite *3* para ordenar por email."); printf("\n"); printf("\n"); scanf("%d",&op_ordena); bolha(vet,cont,op_ordena); if((op_ordena>=1)&&(op_ordena<=3)){ for(s=0;s<=cont;s++){ printf("\n"); printf("POSICAO %d",s); printf("\n"); printf("\n"); printf("Tipo: %d",vet[s].tipo); printf("\n"); printf("Nome: %s",vet[s].nome); printf("\n"); printf("Endereco: %s",vet[s].endereco); printf("\n"); printf("Tel1:%s",vet[s].tel1); printf("\n"); printf("tel2: %s",vet[s].tel2); printf("\n"); printf("Email: %s",vet[s].email); printf("\n"); printf("\n"); } } else{ printf("\n"); printf("Opcao invalida!"); printf("\n"); } system("pause"); break; case 4: armazena(vet,cont); break; } } return 0; }
Compartilhar