Validador de CPF

Publicado por Djames Suhanko 29/01/2006

[ Hits: 10.669 ]

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

Utilizando matrizes

Mostra valores da tabela ascii

Crônometro Digital em CURSES

Gerar número aleatório em C

Tabuada de um determinado número


  

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