Bom dia pessoal, preciso de ajuda para criar um algoritmo que solicite ao usuário UM valor inteiro de 8 a 9 dígitos, que irá representar o número de um CPF. A seguir, calcule os dois dígitos verificadores, , e exiba o CPF completo.
Até agora fiz isso, porém o segundo digito não da certo, o primeiro digito aparentemente está correto, PODEM ME AJUDAR, POR FAVOR?
<>
#include <iostream>
using namespace std;
int main ( )
{
int CPF , x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11 , D1 , D2 ;
cout<<("Digite o valor do CPF sem os digitos verificadores \n" ) ;
cin>>CPF;
x1 = CPF / 100000000 ;
x2 = (CPF / 10000000) % 10 ;
x3 = (CPF / 1000000) % 10 ;
x4 = (CPF / 100000) % 10 ;
x5 = (CPF / 10000) % 10 ;
x6 = (CPF / 1000) % 10 ;
x7 = (CPF / 100) % 10 ;
x8 = (CPF / 10) % 10 ;
x9 = CPF % 10 ;
D1 = (( x1 * 10 + x2 * 9 + x3 * 8 + x4 * 7 + x5 * 6 + x6 * 5 + x7 * 4 + x8 * 3 + x9 * 2 ) % 11);
if (D1 < 2) {
x10 = 0;
}
else if (D1 > 2) {
((x10 = 11 - D1)) ;
}
else
D2 = (( x1 * 11 + x2 * 10 + x3 * 9 + x4 * 8 + x5 * 7 + x6 * 6 + x7 * 5 + x8 * 4 + x9 * 3 + x10 * 2 ) % 11 );
if (D2 < 2){
x11 = 0;
}
else if (D2 > 2) {
((x11 = 11 - D2)) ;
}
cout <<CPF<<x10<<x11<<endl;
return 0 ;
}