Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
iLoveProg

RESOLVIDO Implementar uma função de pesquisar em agenda (struct)

Recommended Posts

É o seguinte pessoal, eu to fazendo uma agende (bem arcaica, por sinal, mas que pelo menos funcione) com struct, e preciso colocar uma função para pesquisar nomes, mas eu n estou conseguindo. O meu codigo ainda falta implementar mais coisas, alem da função PesquisarNomes, mas eu ja empaquei nessa primeira função. Deem uma olhada.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void pesquisarnome(char *pessoas, int tam);

typedef struct{
	char nome[15];
	char email[25];
	char endrua[100];
	int endnumero;
	char endcompl[10];
	char endbairro[10];
	int endcep;
	int tel;
	int datadia;
	int datames;
	int dataano;
	char obs[15];
} Agenda;


int main(){

	int tam = 2;
	Agenda pessoas[tam];
	int op;
	int i;

	
	printf("Cadastrar:\n\nEx de cadastro: Nome(Joao), email, endereço rua, numero, bairro, cep, complemento, telefone, dia do aniversario, mes do aniversario, ano do aniversario, observação");
	for(i=0;i<2;i++){
		scanf("%s %s %s %d %s %d %s %d %d %d %d %s", &pessoas[i].nome, &pessoas[i].email, &pessoas[i].endrua, &pessoas[i].endnumero, &pessoas[i].endbairro, &pessoas[i].endcep, &pessoas[i].endcompl, &pessoas[i].tel, &pessoas[i].datadia, &pessoas[i].datames, &pessoas[i].dataano, &pessoas[i].obs);
	}
	for(i=0;i<2;i++){
		printf("\n\nCADASTRO(%d):\n\nNOME: %s\nEMAIL: %s\nRUA: %s\nNUMERO: %d\nBAIRRO: %s\nCEP: %d\nCOMPL.: %s\nTEL: %d\nDATA DIA: %d\nDATA MES: %d\nDATA ANO: %d\nOBSERVACAO: %s\n\n\n", i+1, pessoas[i].nome, pessoas[i].email, pessoas[i].endrua, pessoas[i].endnumero, pessoas[i].endbairro, pessoas[i].endcep, pessoas[i].endcompl, pessoas[i].tel, pessoas[i].datadia, pessoas[i].datames, pessoas[i].dataano, pessoas[i].obs);
	}
	printf("$$$$$$$$$$$$$$$$$$$$$$$ A G E N D A $$$$$$$$$$$$$$$$$$$$$$$$$\n\n\n\n");
	printf("MENU: Escolha uma opcao:\n\nPesquisar Nome (1) \n\nPesquisar Mes de Aniversario(2)\n\nNomes e Tels (3)\n\n");
	scanf("%d", &op);
	
		switch(op){
		case 1: pesquisarnome(pessoas, tam);
		break;
		
	
		
	}


 return 0;
}

void pesquisarnome(char *pessoas, int tam){


	int i;
	char x[50];
	
	
	printf("\nNome: ");
  	scanf("%s",&x);
	
		 for(i=0;i<tam;i++){
		 	
        if(strcmp(x, pessoas)==0){
        	printf("%s", pessoas);
		}
	}
	return 0;
}
        

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct{
	char nome[15];
	char email[25];
	char endrua[100];
	int endnumero;
	char endcompl[10];
	char endbairro[10];
	int endcep;
	int tel;
	int datadia;
	int datames;
	int dataano;
	char obs[15];
} Agenda;

void pesquisarnome(Agenda *, int);

int main(){

	int tam = 2;
	Agenda pessoas[tam];
	int op;
	int i;


	printf("Cadastrar:\n\nEx de cadastro: Nome(Joao), email, endereço rua, numero, bairro, cep, complemento, telefone, dia do aniversario, mes do aniversario, ano do aniversario, observação");
	for(i=0;i<2;i++){
		scanf("%s %s %s %d %s %d %s %d %d %d %d %s", pessoas[i].nome, pessoas[i].email, pessoas[i].endrua, &pessoas[i].endnumero, pessoas[i].endbairro, &pessoas[i].endcep, pessoas[i].endcompl, &pessoas[i].tel, &pessoas[i].datadia, &pessoas[i].datames, &pessoas[i].dataano, pessoas[i].obs);
	}
	for(i=0;i<2;i++){
		printf("\n\nCADASTRO(%d):\n\nNOME: %s\nEMAIL: %s\nRUA: %s\nNUMERO: %d\nBAIRRO: %s\nCEP: %d\nCOMPL.: %s\nTEL: %d\nDATA DIA: %d\nDATA MES: %d\nDATA ANO: %d\nOBSERVACAO: %s\n\n\n", i+1, pessoas[i].nome, pessoas[i].email, pessoas[i].endrua, pessoas[i].endnumero, pessoas[i].endbairro, pessoas[i].endcep, pessoas[i].endcompl, pessoas[i].tel, pessoas[i].datadia, pessoas[i].datames, pessoas[i].dataano, pessoas[i].obs);
	}
	while(1){
	printf("$$$$$$$$$$$$$$$$$$$$$$$ A G E N D A $$$$$$$$$$$$$$$$$$$$$$$$$\n\n\n\n");
	printf("MENU: Escolha uma opcao:\n\nPesquisar Nome (1) \n\nPesquisar Mes de Aniversario(2)\n\nNomes e Tels (3)\n\n");
	scanf("%d", &op);

		switch(op){
            case 1: pesquisarnome(pessoas, tam);
            break;
            default:
            break;
        }
	}

 return 0;
}

void pesquisarnome(Agenda *pessoas, int tam){


	int i;
	char x[50];


	printf("\nNome: ");
  	scanf("%s",x);//<-- char ja envia o endereco, nao precisa de &

    for(i=0;i<tam;i++){
        if(strcmp(x, pessoas[i].nome)==0){ //<-- observe o uso de [i] e .
        	printf("%s", pessoas[i].nome);
		}
	}
	return;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×