Validador de CPF

Publicado por Djames Suhanko 29/01/2006

[ Hits: 11.068 ]

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 arrays, funções e arquivos de texto

Soma dos dígitos de um número decimal

Conversor de Euros em Reais

Sistema Númerico

Encontrando letras em frases


  

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