Pesquisar no blog:

terça-feira, 11 de dezembro de 2012

Função em Linguagem C - Gerador de CPF

Em outro post expliquei sobre a fórmula do CPF e também publiquei o código fonte de um validador de CPF.
Se você quer saber como funciona a fórmula do CPF acesse: Validador de CPF
Agora estou publicando um gerador de CPF em linguagem C.
Para fazer esta função utilizei também duas funções da biblioteca da linguagem C para gerar números aleatórios: rand e srand. Caso não às conheça acesse o post onde expliquei sobre elas.
#include <stdlib.h>
char cpf[11];

void cpf_generator()
{
    int i, j, dig = 0;
    srand(time(NULL));
    for(i = 0; i <= 9; i++)
        cpf[i] = (rand() % 10) + 48;
    for(i = 0, j = 10; i <= strlen(cpf)-2; i++, j--)
        dig += (cpf[i]-48) * j;
    dig %= 11;
    if(dig < 2)
        cpf[9] = 48;
    else
        cpf[9] = (11-dig)+48;
    dig = 0;
    for(i = 0, j = 11; i <= strlen(cpf)-1; i++, j--)
    {
        dig += (cpf[i]-48) * j;
    }
    dig %= 11;
    if(dig < 2)
        cpf[10] = 48;
    else
        cpf[10] = (11-dig)+48;
}

main()
{
    int i;
    cpf_generator();
    printf("\n");
    for(i = 0; i < 11; i++)
        printf("%c", cpf[i]);
    printf("\n");
    system("pause");
    return 0;
}

Um comentário: