Validador de CPF
Publicado por Djames Suhanko 29/01/2006
[ Hits: 11.032 ]
Homepage: http://phantomclone.com
Um validador de cpf básico
#include <stdio.h>
// Armazena CPF digitado
char lercpf[13];
int cpflimpo[11];
int digitos[1];
int total=0, multi;
int conta, modulo;
int i;
// Funcao para ler o CPF
digcpf() {
printf("Digite seu CPF (123.456.789-AB ou 123456789AB)\nC.P.F.: >> ");
scanf("%s",&lercpf);
}
//converter para numerico e remover caracteres nao-numericos
convCPF() {
int a=0;
for (i=0; i<14;i++)
{
if (lercpf[i] == '.' || lercpf[i] == '-')
{
i=i+1;
}
cpflimpo[a] = lercpf[i]-48;
a = a+1;
}
}
// calcula o primeiro digito
digito1() {
int a=10;
//2*10+5*9..
for (i=0;i<9;i++)
{
multi=cpflimpo[i]*a;
total=total+multi;
a=a-1;
}
conta=total/11;
modulo=total%11;
digitos[0]=11-modulo;
}
//calcula o segundo digito
digito2() {
int a=11;
total=0;
//2*10+5*9..
for (i=0;i<10;i++)
{
multi=cpflimpo[i]*a;
total=total+multi;
a=a-1;
}
conta=total/11;
modulo=total%11;
digitos[1]=11-modulo;
}
main()
{
digcpf();
convCPF();
digito1();
digito2();
printf("\e[H\e[2J");
if (cpflimpo[9] == digitos[0] && cpflimpo[10] == digitos[1])
{
printf("\nC.P.F. valido\n ");
}
else
{
printf("Invalido !!!\n");
}
}
Criando um Quadrado com asteriscos
Cria os dígitos verificadores para CPF
Dado três valores, informar o maior e menor número
Nenhum comentário foi encontrado.
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Linux Mint: Zram + Swapfile em Btrfs
O widget do Plasma 6 Área de Notificação
Após todos esses anos... youtube! (4)
[Resolvido] Conselho distribuiçao brasileira (14)









