Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.54 KB | None | 0 0
  1. #include <iostream>
  2. #include <locale.h>
  3. using namespace std;
  4.  
  5. //=========VARS=========
  6. long long int CPF;
  7. //=========DÍGITOS VERIFICADORES=========
  8. int dig1, dig2;
  9.  
  10. int main(){
  11.     setlocale(LC_ALL, "Portuguese");
  12.     cout << "Digite um número de oito ou nove dígitos: ";
  13.     cin >> CPF;
  14.     //=========VERIFICAÇÃO DE VALIDADE=========
  15.     if(CPF < 10000000 || CPF > 999999999){
  16.         cout << "\n\nNúmero inválido!\n";
  17.         main();
  18.     } else {
  19.         //=========NUM VER 1=========
  20.         dig1 = (CPF / 100000000) * 10 + (CPF / 10000000 % 10) * 9 + (CPF / 1000000 % 10) * 8 + (CPF / 100000 % 10) * 7 + (CPF / 10000 % 10) * 6 + (CPF / 1000 % 10) * 5 + (CPF / 100 % 10) * 4 + (CPF / 10 % 10) * 3 + (CPF % 10) * 2;
  21.         if((dig1 % 11) < 2){
  22.             dig1 = 0;
  23.         } else {
  24.             dig1 = 11 - (dig1 % 11);
  25.         }
  26.         //=========NUM VER 2=========
  27.         dig2 = (CPF / 100000000) * 11 + (CPF / 10000000 % 10) * 10 + (CPF / 1000000 % 10) * 9 + (CPF / 100000 % 10) * 8 + (CPF / 10000 % 10) * 7 + (CPF / 1000 % 10) * 6 + (CPF / 100 % 10) * 5 + (CPF / 10 % 10) * 4 + (CPF % 10) * 3 + dig1 * 2;
  28.         if((dig2 % 11) < 2){
  29.             dig2 = 0;
  30.         } else {
  31.             dig2 = 11 - (dig2 % 11);
  32.         }
  33.         //=========MOSTRAR CPF=========
  34.         cout << "Seu CPF é " << CPF / 100000000 << CPF / 10000000 % 10 << CPF / 1000000 % 10 << "." << CPF / 100000 % 10 << CPF / 10000 % 10 << CPF / 1000 % 10 << "." << CPF / 100 % 10 << CPF / 10 % 10 << CPF % 10 << "-" << dig1 << dig2;
  35.     }
  36.     return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement