Olá guj. Bem, estou fazendo um programa em C de um banco(sacar,depositar etc.), e quando crio a função/procedimento de busca ele não vai… Sempre cai em uma condição nada a ver quando comparo se as duas strings são iguais. Ex, eu me cadastro e coloco um numero de conta “123”, quando volto pra opção de buscar ele pede um número de conta, digito o mesmo número, porém ele me diz: “Conta não encontrada”.
Segue o código…
Estrutura:
typedef struct {
char nconta[8]; //Número da conta
float saldo; //Saldo cliente
char nome[61]; //Nome cliente
char cpf[12]; //Cpf cliente
char telefone[12]; //Telefone cliente
int ativo;
}Usuario;
Usuario cliente[MAX]; //O MAX é igual a 100.
Procedimento/função(Digo função porque também tentei fazer uma função com a mesma lógica e nada):
void buscar(){
system("cls");
int i;
char conta[8];
printf("Digite o número da conta que deseja buscar:\n");
gets(conta);
for(i=0; i<MAX; i++){
if(strstr(cliente[i].nconta,conta) != NULL){
printf("A conta foi encontrada com sucesso:\n");
printf("\n--------------------------------\n");
printf("\nNúmero da Conta: %s",cliente[i].nconta);
printf("\nNome: %s\n",cliente[i].nome);
printf("CPF: %s\n",cliente[i].cpf);
printf("Telefone: %s\n",cliente[i].telefone);
printf("Saldo: %f\n",cliente[i].saldo);
printf("\n--------------------------------\n\n");
}else{
printf("\nConta não encontrada.");
}
}
}
Sempre cai em “conta não encontrada”, por quê?
Obrigado pela atenção Guj, grato.