entao galera, consegui faze o codigo, e acho q pra quem e noob em programaçao como eu, o meu exemplo q vo decha aqui fica melhor.
flws galera
codigo:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
char recolhecpf[12];
int calc[9], numcpf[12], somacpf, divcpf, restodiv, dig_verif;
int fimcpf[2], corrige_fim[2];
int i;
void recebe();
void ajuste1();
void ajuste2();
void calculo1();
void calculo2();
int main()
{
recebe();
printf("\n"
system("PAUSE"
return 0;
}
void recebe()
{
//==================\\
/* zerador! */
recolhecpf[0]='\0';
numcpf[0]='\0';
corrige_fim[0]='\0';
fimcpf[0]='\0';
calc[0]='\0';
somacpf=0;
divcpf=0;
restodiv=0;
dig_verif=0;
/*printf("\n%c,recolhe cpf",recolhecpf[0]);
printf("\n%c,numcpf",numcpf[0]);
printf("\n%c,corrige fim",corrige_fim[0]);
printf("\n%c,fimcpf",fimcpf[0]);
printf("\n%c,calc\n",calc[0]);
puts("======================"
printf("\n%d, soma",somacpf);
printf("\n%d,div",divcpf);
printf("\n%d,resto div",restodiv);
printf("\n%d,dig verificacao\n",dig_verif);*/
puts("digite o numero."
gets(recolhecpf);
getch();
ajuste1();
}
void ajuste1()
{
if(recolhecpf[9]=='-'
{
fimcpf[0]=recolhecpf[10]-48;
printf("\n%d\n",fimcpf[0]);
fimcpf[1]=recolhecpf[11]-48;
printf("\n%d\n",fimcpf[1]);
getch();
system("cls"
}
else
{
fimcpf[0]=recolhecpf[9]-48;
printf("\n%d\n",fimcpf[0]);
fimcpf[1]=recolhecpf[10]-48;
printf("\n%d\n",fimcpf[1]);
getch();
system("cls"
}
for(i=0;i<9;i++)
{
numcpf[i]=recolhecpf[i];
calc[i]=(numcpf[i]-48)*(10-i);
printf("%d\t",calc[i]);
somacpf+=calc[i];
}
getch();
calculo1();
}
void calculo1()//calcula primeioro numero verificador
{
divcpf=somacpf/11;
restodiv=somacpf%11;
dig_verif=11-restodiv;
if(restodiv<2 && fimcpf[0]!=0)
{
puts("o numero do cpf esta errado, digite novamente"
getch();
system("cls"
recebe();
}
if(restodiv>=2 && dig_verif!=fimcpf[0])
{
puts("o numero do cpf esta errado, digite novamente"
getch();
system("cls"
recebe();
}
//========================
printf("\n%d, soma",somacpf);
printf("\n%d,div",divcpf);
printf("\n%d,resto div",restodiv);
printf("\n%d,dig verificacao",dig_verif);
getch();
calculo2();
}
void calculo2()
{
somacpf=0;
divcpf=0;
restodiv=0;
dig_verif=0;
printf("\n\n"
for(i=0;i<9;i++)
{
numcpf[i]=recolhecpf[i];
calc[i]=(numcpf[i]-48)*(11-i);
printf("%d\t",calc[i]);
somacpf+=calc[i];
}
calc[9]=2*(11-9);
printf("%d\t",calc[9]);
somacpf+=calc[9];
divcpf=somacpf/11;
restodiv=somacpf%11;
dig_verif=11-restodiv;
//========================
printf("\n%d, soma",somacpf);
printf("\n%d,div",divcpf);
printf("\n%d,resto div",restodiv);
printf("\n%d,dig verificacao",dig_verif);
getch();
printf("\n\n"
if(restodiv<2 && fimcpf[1]!=0)
{
puts("o numero do cpf esta errado, digite novamente"
getch();
system("cls"
recebe();
}
if(restodiv>=2 && dig_verif!=fimcpf[1])
{
puts("o numero do cpf esta errado, digite novamente"
getch();
system("cls"
recebe();
}
printf("\nnumero de CPF correto\n"
getch();
}