Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Renan

validação de CPF em C cru

Recommended Posts

galeraa...

eu programo em php...

soh q eu to precisando fazer uma validação de cpf aki em C..

eu uso o DEV C++...na linha de comando mesmo...sem visual..

eu num manjo muito de C...to pegando o básico ainda..

 

alguém tem um script de validação de CPF pronto pra me passar?

 

obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é mais ou menos assim no php :

 

function checkCPF($cpf)
{
	$cpf = ereg_replace('[^0-9]', '', $cpf);

	$ignore_list = array('00000000000',
						 '01234567890',
						 '11111111111',
						 '22222222222',
						 '33333333333',
						 '44444444444',
						 '55555555555',
						 '66666666666',
						 '77777777777',
						 '88888888888',
						 '99999999999',
					   );

	if (strlen($cpf) != 11 || in_array($cpf, $ignore_list)) {
		return false;
	} else {
		$d1 = $d2 = 0;

		for ($i = 0; $i < 9; $i++) $d1 += $cpf{$i} * (10 - $i);

		$r1 = $d1 % 11;

		$d1 = ($r1 > 1) ? 11 - $r1
						: 0;

		for ($i = 0; $i < 9; $i++) $d2 += $cpf{$i} * (11 - $i);

		$r2 = ($d2 + ($d1 * 2)) % 11;

		$d2 = ($r2 > 1) ? 11 - $r2
						: 0;

		return (substr($cpf, -2) == $d1 . $d2) ? true
											   : false;
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não traduzi o script todo, só uma parte.

Veja:

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){

   char ignorar[11][12] = { "00000000000",
							"01234567890",
							"11111111111",
							"22222222222",
							"33333333333",
							"44444444444",
							"55555555555",
							"66666666666",
							"77777777777",
							"88888888888",
							"99999999999"};
   char cpf[64];
   int i, valido;
   printf("Digite o cpf\n");
   scanf("%s", cpf);

   if (strlen(cpf) != 11)
	  printf("CPF invalido\n");
   else{
	  valido = 1;
	  for(i=0; i<11; i++){
		 if(!strcmp(cpf,ignorar[i])){
			printf("CPF invalido\n");
			valido = 0;
			break;
		 }
	  }
	  if(valido)
		 printf("CPF valido\n");
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.