1
resposta

Algoritmo de validação de cpf esta errado?!

Eu havia feito o algoritmo de validação de outra forma ( ele falou sobre a logica necessária no vídeo 3 então decidi tentar implementar por conta própria e me desafiar )

function checaEstruturaCPF(cpf){
  if(checaDigitoVerificador(cpf, 10) && checaDigitoVerificador(cpf, 11)){
    return true
  }else{
    return false;
  }
}

function checaDigitoVerificador(cpf,multiplicador){
  let soma=0;
  for (let index = 0; index < multiplicador-1; index++) {
    soma+=((multiplicador-index)*Number(cpf[index]))
  }
  return somaDigitoVerificador(soma)==cpf[multiplicador-1];
}

function somaDigitoVerificador(soma){
  return 11-(soma%11)
}

E para o meu cpf ou cpfs que o resto retornado por somaDigitoVerificador fosse 10 dava erro ( porque 10 não é igual 0 ). Então achando que o erro tivesse no meu algoritmo, fui na aula 5 e baixei o projeto realizado pelo professor, testei meu cpf e novamente constando como invalido. Resolvi colocando mais uma operação (11-(soma%11))%10 ( para que caso de 10 retorne 0) ( contudo não sei se essa é uma logica valida , só sei que meu cpf é valido e testado em outros sites também consta como valido )

Gostaria de saber se isso so ocorreu comigo e se o algoritmo implementado na aula esta realmente correto

1 resposta
O post foi fechado pois o curso foi descontinuado e não faz mais parte da grade oficial.
  • Você pode acessar o curso atualizado aqui.