Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bem...
Não sei se vai ajudar alguém mas está aí...
Fiz o programa com intuito de testar meu conhecimento sobre tipo bool e criação de novas funções.
Source:
/* Nome: Gerador de cpf/cnpj/titulo eleitoral/cgc
Autor: Jorge Almeida Miguel
Date: 31/08/09 18:01
Descrição: Programa feito 100% por Jorge Almeida Miguel.
Feito apenas para teste de conhecimento.
O autor não se responsabiliza pelo uso inapropriado do mesmo
*/
#include <stdio.h> // para usar o printf e o scanf
#include <time.h> // para usar o srand(time(NULL)) e gerar verdadeiros numeros aleatorios
#include <windows.h> // para o gettickcount
#include <stdbool.h> // para usar
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,w,q; // tive que declarar globais porque uso elas em mais de uma função
int usorand()
{
a = rand()%10;
b = rand()%10;
c = rand()%10;
d = rand()%10;
e = rand()%10;
f = rand()%10;
g = rand()%10;
h = rand()%10;
i = rand()%10;
j = rand()%10;
k = rand()%10;
l = rand()%10;
}
int cpf() // PARTE RESPONSÁVEL POR GERAR CPFs
{
q = 1;
printf ("\n\nQuantos CPFs deseja gerar?\n\n");
scanf ("%i%*c", &w);
while (q <= w)
{
usorand();
l = a*10+b*9+c*8+d*7+e*6+f*5+g*4+h*3+i*2;
j = l%11;
if (j <= 1)
j = 0;
else
j = 11 - j;
k = a*11+b*10+c*9+d*8+e*7+f*6+g*5+h*4+i*3+j*2;
k = k%11;
if (k <= 1)
k = 0;
else
k = 11 - k;
printf ("\n\nCPF: %i%i%i.%i%i%i.%i%i%i-%i%i", a,b,c,d,e,f,g,h,i,j,k);
q = q +1;
}
q = 1;
}
int cnpj() // PARTE RESPONSÁVEL POR GERAR CNPJ
{
printf ("\n\nQuantos CNPJs deseja gerar?\n\n");
scanf ("%i%*c", &w);
while (q <= w)
{
usorand();
m = a*5+b*4+c*3+d*2+e*9+f*8+g*7+h*6+i*5+j*4+k*3+l*2;
m = m%11;
if (m <= 1)
m = 0;
else
m = 11 - m;
n = a*6+b*5+c*4+d*3+e*2+f*9+g*8+h*7+i*6+j*5+k*4+l*3+m*2;
n = n%11;
if (n <= 1)
n = 0;
else
n = 11 - n;
printf ("\n\nCNPJ: %i%i.%i%i%i.%i%i%i/%i%i%i%i-%i%i", a,b,c,d,e,f,g,h,i,j,k,l,m,n);
q = q+1;
}
q = 1;
}
int main()
{
char C,r;
bool u2;
srand(time(NULL));
printf("Programa feito totalmente por Jorge Almeida Miguel.\nFoi feito apenas para teste ");
printf("de conhecimento e o autor não se responsabiliza pelo uso inapropriado do mesmo.\n\n\n\n\n\n");
r = '2';
u2 = true;
while (r == '2')
{
printf ("\n\nO que deseja gerar? [1-CPF/2-CNPJ(CGC)]\n\n");
scanf ("%c%*c", &C);
if (C == '1')
{
cpf();
u2 = true;
}
else
if (C == '2')
{
cnpj();
u2 = true;
}
else
{
printf("\n\nPor favor, coloque o numero das opções desejadas. ;D");
u2=false;
}
if (u2==true)
{
printf("\n\n\nDeseja sair do programa? [1-sim/2-nao]\n\n");
scanf("%c%*c",&r);
}
} // fim do while
printf ("\n\n\nGrato pelo uso do programa!!!\n\n");
printf ("Qualquer duvida/sugestao/critica mande um e-mail ou me adicione no msn:\njorge_do_colegio@hotmail.com\n\n\n\n\n");
int t = GetTickCount(); // t recebe o início da contagem
while(t + 4000 > GetTickCount()); // tipo um timer para esperar que a contagem aumente até t + 4000 milisegundos(4s)
return 0;
}
Agradecimentos: quitZAUMMM por ter paciência(muita =x) e tirar algumas dúvidas... ^^
Carregando comentários...