Como criar uma condição com IF para comparar CPF ?

1. Como criar uma condição com IF para comparar CPF ?

José Oliveira Fraga
fraga927

(usa Ubuntu)

Enviado em 28/11/2018 - 11:56h

/*Galera, bom dia.
Preciso da ajuda de vocês para resolver essa condição de comparação de CPF.
Sou novo e ainda estou aprendedo, e não sei como resolver essa questão.

É um programa bancário que vai cadastrar os dados dos clientes e naõ pode haver CPF ou contas com o mesmo número.


Condição: Se o CPF, já estiver cadastrada, mostrar mensagem e pedir outro número,
Senão, cadastrar normalmente.

Muito obrigado pela ajuda

Minha dificuldade é como comparar o CPF com ele, mesmo.



*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
#define TAM 300


//estruturas
typedef struct{
char cpf[15];
char nome[30];
char endereco[30];
int dataNasc;

}Banco;
Banco clientes[TAM];

void menu();
void cadastrar_cliente();
void cadastrar_conta();
void consultar_cliente();
void sacar();
void depositar();
void consultar_saldo();
void sair();



int main(int argc, char const *argv[])
{
setlocale(LC_ALL,"");

menu();


return 0;
}

void menu(){
int i;
Banco clientes [TAM];
system("cls");
int op;
do{
printf("\t\t\tBANCO POSTAL DO BRASIL\n\n");
printf("\t\tESCOLHA O SERVIÇO QUE DESEJA REALIZAR\n\n");
printf(" 1 - Cadastrar Cliente\n 2 - Cadastrar Conta Bancária\n 3 - Consultar Cliente\n 4 - Sacar\n 5 - Depositar\n 6 - Consultar Saldo\n 7 - Finalizar\n ");
printf("\n\nDigite a Opção Escolhida: ");
scanf("%d", &op);

switch(op){
case 1:
cadastrar_cliente();
system("PAUSE");
break;
case 2:


break;

case 3:


break;

case 4:


break;


case 5:


break;

case 6:


break;

case 7:

exit(0);
break;

default:
printf("\n\nOpção Inválida.\n\nTente Novamente\n\n");
system("pause");
break;
}
}while(op !=7);
}
void cadastrar_cliente(){
int i;
system("cls");
char cpf[15];
char nome[30];
char endereco[30];
int dataNasc;
int op;
do{
printf("\nInforme o CPF do Cliente, sem Espaço ou Traço: ");
fflush(stdin);
fgets(cpf, sizeof(cpf),stdin);
printf("\nInforme o nome do Cliente: ");
fgets(nome, sizeof(nome),stdin);
printf("\nInforme o endereço do cliente:");
fgets(endereco, sizeof(endereco),stdin);
printf("\nInforme a Data de Nascimento: ");
scanf("%d", &dataNasc);

for (i=0; i < TAM; i++){
if(clientes[i].cpf) // COMO ESTABELECER UMA CONDIÇÃO PARA VERIFICAR SE O CPF JÁ ESTÁ CADASTRADO?
// CASO, NÃO ESTEJA, CADASTRAMENTO É LIBERADO. SE JÁ ESTIVER CADASTRADO, MOSTRAR MENSAGEM E PEDIR
// PARA INFORMAR OUTRO CPF ?
}
printf("\nDigite 1 - Continuar ou 7 - Finalizar e Sair\n");
}while(op!=7);
}
void cadastrar_conta(){

}
void consultar_cliente(){

}
void sacar(){

}
void depositar(){

}
void consultar_saldo(){

}
void sair(){

}



  


2. Re: Como criar uma condição com IF para comparar CPF ?

Lima Júnior
lmJR

(usa Debian)

Enviado em 28/11/2018 - 12:17h

Faz bastante tempo que usei linguagem C pra fazer a mesma coisa que você está fazendo, me surpreendi até com essa "coincidência" haha
A diferença que não fiz com estrutura, e sim com matrizes(se não me engano).
Não posso te ajudar no código em si, até porque não vejo C faz mais de 5 anos, e to focando em Shell Script agora, mas se te ajudar em algo podemos ver a lógica por trás do que você quer.
Cria uma variável local(ex: teste_cpf) que vai pegar e armazenar temporariamente o CPF digitado pelo usuário. Depois do usuário informar o CPF, vai ter um laço FOR ou WHILE, que vai percorrer todos os registros na estrutura e vai comparar, através de um IF-ELSE, o que foi digitado(na variável teste_cpf) com os registros. E aí você já deve ter entendido a lógica básica.
O básico é isso, qualquer coisa vai escrevendo o código que vamos te ajudar \o






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts