Validador de CPF

Publicado por Djames Suhanko 29/01/2006

[ Hits: 10.800 ]

Homepage: http://phantomclone.com

Download cpf.c




Um validador de cpf básico

  



Esconder código-fonte

#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");
   }
}

Scripts recomendados

Conta Bit em C

MMC entre 2 números

Programa simples em C++ para manipular dados de usuários!

Tabuada no terminal

CÓDIGO ASCII


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts