Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- validador de CPF by Cooler_
- c00f3r[at]gmail[dot]com
- prazer em escrever código xD
- gcc -O3 -o code code.c; ./code
- O3 == para otimizar o código :-)
- */
- #include <stdio.h>
- #include <stdlib.h>
- int
- main()
- {
- char *cpf=(char *)malloc(sizeof(char)*14);
- int *carry=(int *)malloc(sizeof(int)*14);
- register int x=0,input=0,beta=0,gamma=0,lambda=0,num=0,add=0;
- puts("Qual cpf zeh maneh? ");
- scanf(" %12s",cpf);
- // char 2 int :-) fica masi rapido lol
- do
- {
- *(carry+x)=*(cpf+x)-48;
- x++;
- }while(x<11);
- x=0;
- //primeiro num
- do
- {
- add+=*(carry+x) *(10-x);
- x++;
- }while(x<9);
- beta=add%11;
- input=( (!beta) || (!(beta^1)) )?0:11-beta;
- add=0;
- x=0;
- // segundo num
- do{
- add+=*(carry+x)*(11-x);
- x++;
- }while(x<10);
- num=(add/11)*11;
- gamma=add-num;
- lambda=( (!gamma) || (!(gamma^1)) )?0:11-gamma;
- printf("\nCPF %s\n",(input== (*(carry+9)) ) && (lambda== (*(carry+10)) )?"OK":"FAIL");
- free(carry);
- free(cpf);
- // sleep(10); para dar uma pausa caso esteja no rwindows ;-)
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment