Quick actions

cmd+k|ctrl+k

Navigation

Languages

Validador de cpf

Snippet info

Language

C

Visibility

public

Author

bwsiegrain

Created

2019-04-30T00:46:18Z

Updated

2019-04-30T01:17:04Z

#include <stdio.h>

int main(void) {
    unsigned long long int cpf;
    int dig1, dig2, dig3, dig4, dig5, dig6, dig7, dig8, dig9, resto1, resto2, dv1, dv2, soma, soma2;
    
    scanf("%llu", &cpf);
    
    dig1 = ((cpf / 10000000000) % 10);
    dig2 = ((cpf / 1000000000) % 10);
    dig3 = ((cpf / 100000000) % 10);
    dig4 = ((cpf / 10000000) % 10);
    dig5 = ((cpf / 1000000) % 10);
    dig6 = ((cpf / 100000) % 10);
    dig7 = ((cpf / 10000) % 10);
    dig8 = ((cpf / 1000) % 10);
    dig9 = ((cpf / 100) % 10);
    
    soma = ((dig1*10) + (dig2*9) + (dig3*8) + (dig4*7) + (dig5*6) + (dig6*5) + (dig7*4) + (dig8*3) + (dig9*2));
    resto1 = soma % 11;
    dv1 = 11 - resto1;
    
    if(dv1 > 9){
        dv1 = 0;
    }
    
    soma2 = ((dig1*11) + (dig2*10) + (dig3*9) + (dig4*8) + (dig5*7) + (dig6*6) + (dig7*5) + (dig8*4) + (dig9*3) + (dv1*2));
    resto2 = soma2 % 11;
    dv2 = 11 - resto2;
    
    if(dv2 > 9){
        dv2 = 0;
    }
    
    if(cpf == 00000000000 || cpf == 11111111111 || cpf == 22222222222 || cpf == 33333333333 || cpf == 44444444444 || cpf == 55555555555 || cpf == 66666666666 || cpf == 77777777777 || cpf == 88888888888 || cpf == 99999999999){
        printf("invalido\n");
    }
    else{
        printf("valido\n");
    }
    
    return 0;
}
INFO