Validador de CPF
Publicado por Marcos (última atualização em 17/01/2013)
[ Hits: 6.674 ]
Exemplo simples de um validador de CPF.
O script recebe um número de CPF e retorna se o número está correto ou qual sequência de dígitos verificadores eram esperados.
#include <stdio.h> #include <stdlib.h> #include <string.h> /*função responsável por converter um caractere compreendido no intervalo de 0 a 9 em inteiro (no mesmo intervalo)*/ int conversor(char valor){ switch(valor){ case '9': return 9; case '8': return 8; case '7': return 7; case '6': return 6; case '5': return 5; case '4': return 4; case '3': return 3; case '2': return 2; case '1': return 1; case '0': return 0; } } void validarCPF(){ int numero[11], dig1,dig2,soma=0,valor,i; char cpf[11];//armazena cpf digitado printf("\nDigite o CPF (sem pontos e traco): \n\n\t>> "); setbuf(stdin,NULL);//limpando buffer do teclado gets(cpf); // convertendo caracteres em int for(i=0;i<11;i++){ numero[i]=conversor(cpf[i]); } // calculando primeiro dígito for(i=0;i<9;i++) soma+=numero[i]*(10-i); valor=soma%11; if(valor==0 || valor==1) dig1=0; else dig1=11-valor; numero[9]=dig1; // calcualndo segundo dígito soma=0; for(i=0;i<10;i++) soma+=numero[i]*(11-i); valor=soma%11; if(valor==0 || valor==1) dig2=0; else dig2=11-valor; // exibindo resultado if(dig1==numero[9] && dig2==numero[10]){ printf("\n\nCPF correto: "); for(i=0;i<11;i++) printf(" %d",numero[i]); } else{ printf("\nProblemas nos digitos verificadores!"); printf("\n\nDigitos verificadores esperados para esta sequencia: %d%d",dig1,dig2); } printf("\n\n\n"); } int main(){ int opcao; do{ printf("\n\tPrograma para validar CPF\n\n"); printf("Selecione uma das opcoes disponiveis: \n"); printf("\n<1> Validar\n<0> Sair\n\n"); scanf("%d",&opcao); switch(opcao){ case 1: validarCPF(); } }while(opcao!=0); return 0; }
Programa para cálculo de números complexos
Regra de Horner para cálculo do polinômio
Converçor de Decimal para Binario
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como gerar um podcast a partir de um livro em PDF
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Resolvendo o erro "libQt6Widgets.so.6: cannot open shared object file" no Linux
Como instalar protetores de tela (Debian e derivados)
Conheça a 4Devs, caixa de ferramentas online para desenvolvedores
Como converter um vídeo MP4 para um GIF para publicar no README.md do seu repositório Github
Agora temos uma assistente virtual no fórum!!! (248)
Problemas de compartilhame... de impressora no Ubuntu 24.04 (1)