Buscar

em c++

💡 5 Respostas

User badge image

Joao Andre MArtins Dias

char validaCPF(char cpf[]) {
    int digito1, digito2, temp = 0;
    int cpfInteger[11];

    for (char i = 0; i < 11; i++) {
        cpfInteger[i] = (cpf[i] - 48);
    }
    /*Obtendo o primeiro digito verificador:

    Os 9 primeiros algarismos são multiplicados pela sequência 10, 9, 8, 7, 6, 5, 4, 3, 2
    (o primeiro por 10, o segundo por 9, e assim por diante);
    Em seguida, calcula-se o resto “r1″ da divisão da soma dos resultados das multiplicações por 11,
    e se o resto for zero ou 1, digito é zero, caso contrário digito = (11-r1) */

    for (char i = 0; i < 9; i++)
        temp += (cpfInteger[i] * (10 - i));

    temp %= 11;

    digito1 = (temp < 2) ? 0 : 11 - temp;

    /*Obtendo o segundo digito verificador:

    O dígito2 é calculado pela mesma regra, porém inclui-se o primeiro digito verificador ao final
    da sequencia. Os 10 primeiros algarismos são multiplicados pela sequencia 11, 10, 9, ... etc...
    (o primeiro por 11, o segundo por 10, e assim por diante);
    procedendo da mesma maneira do primeiro digito*/

    temp = 0;
    for (char i = 0; i < 10; i++)
        temp += (cpfInteger[i] * (11 - i));

    temp %= 11;

    digito2 = (temp < 2) ? 0 : 11 - temp;

    /* Se os digitos verificadores obtidos forem iguais aos informados pelo usuário,
       então o CPF é válido */

    return (digito1 == cpfInteger[9] && digito2 == cpfInteger[10]);
}

int main(int argc, char** argv) {
    char cpf[12];
    printf("Entre com o cpf:\n");
    scanf("%s", &cpf);
    printf("%s", (validaCPF(cpf)) ? "cpf valido" : "cpf invalido");
}

0
Dislike0
User badge image

Ana Lúcia Pinheiro

valeu me ajudou bastante...
0
Dislike0
User badge image

Ana Lúcia Pinheiro

precisa acrescentar alguma biblioteca?
0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais