Validador de CPF

Publicado por Djames Suhanko 29/01/2006

[ Hits: 10.723 ]

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

Joga da forca

Linguagem C estruturada - Sistema Numérico Hexadecimal

lnx.c (programa em C, simples)

Utilização de Ponteiros

EMULA DIVISÃO


  

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