Bom dia amigos do Fórum,
estou com um problema no meu código em linguagem C, onde ao pressionar o número 1, ele não realiza uma nova pesquisa com os meus dados. Alguém pode me ajudar?
Segue o código fonte:
#include <windows.h>
#define size 200
char nome[size][50];
char email[size][50];
int cpf[size];
int op;
void cadastro();
void pesquisa();
void lista();
int main(void){
cadastro();
//lista();
pesquisa();
}
void lista(){
int i;
for(i=0;i<size;i++);
printf("\n digite 1 para continuar ou outro valor para sair ");
}
void cadastro(){ //cadastro
static int linha;
do{
printf("\nDigite o Nome: ");
scanf("%s", &nome[linha]);
printf("\nDigite o Email: ");
scanf("%s", &email[linha]);
printf("\nDigite o CPF: ");
scanf("%d", &cpf[linha]);
printf("\n digite 1 para continuar ou outro valor para sair ");
scanf("%d", &op);
linha++;
}while(op==1);
}
void pesquisa(){ //pesquisa
int cpfPesquisa;
char emailPesquisa[50];
char nomePesquisa[50];
int i;
do{
printf("\nDigite 0 para pesquisar por Nome, 1 para pesquisar por CPF ou 2 para pesquisar por e-mail. ");
scanf("%d",&op);
switch(op){
case 0:
printf("\nDigite o Nome: ");
scanf("%s", &nomePesquisa);
for(i=0;i<size;i++){
if(strcmp(nome[i], nomePesquisa)==0){
printf("\nNome: %s\nEmail: %s\nCPF: %d", nome[i], email[i], cpf[i]);
}
}
break;
case 1:
printf("\nDigite o CPF: ");
scanf("%d", &cpfPesquisa);
for(i=0;i<size;i++){
if(cpf[i]==cpfPesquisa){
printf("\nNome: %s\nEmail: %s\nCPF: %d", nome[i], email[i], cpf[i]);
}
}
break;
case 2:
printf("\nDigite o Email: ");
scanf("%s", emailPesquisa);
for(i=0;i<size;i++){
if(strcmp(email[i], emailPesquisa)==0){
printf("\nNome: %s\nEmail: %s\nCPF: %d", nome[i], email[i], cpf[i]);
}
}
break;
default:
printf("\nOpcao Invalida");
break;
}
printf("\nDigite 1 para uma nova pesquisa. ");
scanf("%s", &op);
}while(op==1);
}
Obrigado.
PS. Este é apenas um programa aleatório que eu criei para treinar com a linguagem C.