O Algoritmo do CPF na linguagem C
Por: Leo Batista • 22/5/2017 • Exam • 496 Palavras (2 Páginas) • 286 Visualizações
#include <stdio.h>
#include <string.h>
int d1, d2, i, a;
int cpf[11];
int clean(char text[]){
a=0; i=0;
while(i < strlen(text)){
if(text[i] != '.' && text[i] != '-'){
cpf[a] = text[i]-48;
a+=1;
}
i+=1;
}
return(0);
}
void verify(){
int i, aux=0;
for(i=0;i<10;i++){
if(cpf[0] == cpf[i]){
aux+=1;
}
}
if(aux > 9){
a=0;
}
}
int calc(){
i=0; d1=0; d2=0;
while(i < 9){
d1 = d1 + ((cpf[i])*(10-i));
d2 = d2 + ((cpf[i])*(11-i));
i++;
}
///1
d1 = (d1*10)%11;
if(d1 > 9){
d1 = 0;
}
///2
d2 = (d2+(d1*2))*10%11;
if(d2 > 9){
d2 = 0;
}
///res
if(d1 == cpf[9] && d2 == cpf[10]){
printf("\n\nCPF VALIDO\n\n");
}else
{printf("INVALIDO");}
return(0);
}
int main(){
char c[11];
int r;
do{
do{
printf("CPF: ");
scanf("%s",c);
clean(c);
verify();
}while(a!=11);
...