Buscar

AGENDA TELEFONICA em c

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;
 }

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando

Outros materiais