Código:#include <stdio.h> #include <stdlib.h> #include <string.h> // LEITURA CPF // http://www.gerardocumentos.com.br/entenda-a-formula-do-cpf int main(){ char cpf[12];//2 HORAS TOMANDO NA CABEÇA PORQUE COLOCOU O TAMANHO DO VETOR COMO 11 E ESQUECEU DO \0 PQP SOU MTO BURRO. int i,j,test[11],cpfint[11],cpfint1[11],soma=0,qsoma,cpforiginal[11]; int t; int validado; fflush(stdin);//PQPPPPPPPPPPPPPPPPPPPP!!!!!!!!111 //__fpurge(stdin);// QUE PARIU DESSE BUFFER QUE NAO SE LIMPA SOZINHO. // leitura do cpf. printf("Digite um cpf: "); fflush(stdin); fgets(cpf,12,stdin); //__fpurge(stdin); fflush(stdin); for(i=0;i<11;i++)// CONVERSOR DE CHAR PRA INT. { test[i]=cpf[i]-48; cpforiginal[i]=cpf[i]-48;// 48 na tabela ascii eh 0 entao eu tiro 48 pra converter pra int } j=10; for(i=0;i<9;i++) { cpfint[i]=test[i]*j; j--; soma+=cpfint[i]; //printf("Cpfint %d\n",cpfint[i]); } qsoma=soma%11; //printf("Quociente vale %d\n",qsoma); if(qsoma<2) { cpfint[9]=0; test[9]=0; } else { cpfint[9]=11-qsoma; test[9]=11-qsoma; } j=11; soma=0; qsoma=0; for(i=0;i<10;i++) { cpfint1[i]=test[i]*j; j--; // printf("Cpf: %d\n",cpfint1[i]); soma+=cpfint1[i]; } qsoma=soma%11; //printf("Quociente vale %d\n",qsoma); if(qsoma<2) { cpfint[10]=0; test[10]=0; } else { cpfint[10]=11-qsoma; test[10]=11-qsoma; } if((test[10]==cpforiginal[10])&&test[9]==cpforiginal[9]) { validado=1; printf("CPF VALIDO."); } else{ validado=0; printf("CPF INVALIDO"); } }
Amigo em tenho em delphi, e deve servir como base para voce
Segue ai:
Código:function TFormCadastroPessoa.ValidarCPF(CPF : String) : Boolean; var n1, n2, n3, n4, n5, n6, n7, n8, n9 : Integer; d1, d2 : Integer; Digitado, Calculado : String; begin if ( (CPF = '000.000.000-00') OR (CPF = '111.111.111-11') OR (CPF = '222.222.222-22') OR (CPF = '333.333.333-33') OR (CPF = '444.444.444-44') OR (CPF = '555.555.555-55') OR (CPF = '666.666.666-66') OR (CPF = '777.777.777-77') OR (CPF = '888.888.888-88') OR (CPF = '999.999.999-99') ) then begin Result := False; end else begin n1 := StrToIntDef(CPF[1],0); n2 := StrToIntDef(CPF[2],0); n3 := StrToIntDef(CPF[3],0); n4 := StrToIntDef(CPF[5],0); n5 := StrToIntDef(CPF[6],0); n6 := StrToIntDef(CPF[7],0); n7 := StrToIntDef(CPF[9],0); n8 := StrToIntDef(CPF[10],0); n9 := StrToIntDef(CPF[11],0); d1 := n9 * 2 + n8 * 3 + n7 * 4 + n6 * 5 + n5 * 6 + n4 * 7 + n3 * 8 + n2 * 9 + n1 * 10; d1 := (11-(d1 mod 11)); if(d1 >= 10) then d1 := 0; d2 := d1 * 2 + n9 * 3 + n8 * 4 + n7 * 5 + n6 * 6 + n5 * 7 + n4 * 8 + n3 * 9 + n2 * 10 + n1 * 11; d2 := (11 - (d2 MOD 11)); if(d2 >= 10) then d2 := 0; Calculado := (IntToStr(d1) + IntToStr(d2)); Digitado := (CPF[13] + CPF[14]); if(Calculado = Digitado) then Result := True else Result := False; end; end;
Por acaso, você tem algum em JAVA ? WEB e DESKTOP
Servidor Easy / Hard
Nome: Mu Square
Versão: 97D+1.0E Edition
Experiência Free: 1.000x
Experiência Vip Simples: 2.000x
Experiência Super Vip: 5.000x
Drop: 80%
- PVP Equilibrado 100%
Comandos Exclusivos para Player.
Vários eventos e Novidades !
Vagas na Staff
Acesse: Hidden Content
Fórum: Hidden Content
Fan Page: Hidden Content
Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)
Marcadores