diegorj2 Postado Junho 22, 2006 Denunciar Share Postado Junho 22, 2006 alguém poderia me passar o codigo para verificaçao de cpf valido em c++?desde já agradeço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dixavado® Postado Julho 14, 2006 Denunciar Share Postado Julho 14, 2006 #include <iostream.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> class CPF { char *num; public: CPF(){ num = new char[12]; } int GetNum(); void Print(); }; int CPF::GetNum() { int Valor , Fator, Resto1, Dig1, i; int Soma2 , Divisao2, Resto2, Dig2; Valor = 0; scanf( "%11s", num ); /* PRIMEIRO DIGITO VERIFICADOR */ for( i=0; i<9; i++ ) Valor += (num[i] - 48) * (10 - i); Fator = (Valor/11); Fator *= 11; Valor = Valor - Fator; // Se Valor igual a 0 ou 1 Dig1 recebe 0 senao // Dig1 recebe 11-Dig1 Dig1 = Valor < 2 ? 0 : 11-Valor; Valor = 0; /* SEGUNDO DIGITO VERIFICADOR */ for( i=0; i<9; i++ ) Valor += (num[i] - 48) * (11-i); Valor += Dig1 * 2; Fator = (Valor/11); Fator *= 11; Valor = Valor - Fator; // Se Valor igual a 0 ou 1 Dig2 recebe 0 senao // Dig2 recebe 11-Dig2 Dig2 = Valor < 2 ? 0 : 11-Valor; return Dig1==(num[9] - 48) && Dig2==(num[10] - 48) ? 0 : Dig1*10+Dig2; } void CPF::Print() { printf(num); } void main() { clrscr(); CPF n; int ret; char str[3], buffer[20]; if( ret=n.GetNum() ) { printf("\nN£mero inv lido"); itoa(ret,str,10); sprintf(buffer, "\nValidaria com: %s", str); puts(buffer); } else printf("\nN£mero V lido"); getch(); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
diegorj2
alguém poderia me passar o codigo para verificaçao de cpf valido em c++?
desde já agradeço!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.