Categorias

Validação de CPF, CNPJ e Título Eleitoral em C

O código em anexo tem como objetivo validar CPF, CNPJ e Título Eleitoral.

Também gera os dígitos verificadores de um número incompleto, e gera número válidos conforme a quantidade solicitada pelo usuário.

Atenção: Deve ser utilizado apenas para fins educativos. É totalmente formado por funções.

/*
    Trabalho Interdisciplinar
    Instituição: Pontifícia Universidade Católica de Minas Gerais - Betim
    Curso: Bacharelado em Sistemas de Informação
    Período: Primeiro
    Data: Junho de 2009
    Disciplina: Algorítimos e Técnicas de Programação
    Professor: Aluisio Silva
    Alunos: Braian Carlos da Silva Amaral
            Leandro Daniel Lemos Murta
            Lucas Fernandes Silva Campos
            Luiz Fernando Ferreira Moreira
            Luiz Henrique Diniz Sousa
    
    Objetivo do Programa:
             - Fazer Validação de CPF, CNPJ e Título Eleitoral;
             - Descobrir Dígitos Verificadores;
             - Gerar Números Aleatórios e Válidos.
*/

/*
  Programa Principal
*/

//Incluindo Bibliotecas
//Extras
#include 
#include 
#include 
#include 

//Verificadoras
#include 
#include 
#include 

//Geradoras de Dígitos
#include 
#include 
#include 

//Geradoras de Números
#include 
#include 
#include 

//Declarando Variaveis
int Erro;
char OpcC[0], sair;
int OpcI[0];

// Inicio do Programa

using namespace std;
int main()
{
//Cores no Inicio
Cores();
//Cor do Programa
system ("color 1F");

inicio:
Erro=0;
do
{
//Menu Inicial
//Função para Limpar a Tela

Limpar();
cout << "--------------------------------------n";
cout << "-------------Check Plus---------------n";
cout << "------- O Melhor Validador! ----------n";
cout << "--------------------------------------n";
cout << "Digite uma Opcao:                     n";  
cout << " 1 - CPFn";
cout << " 2 - CNPJn";
cout << " 3 - Titulo Eleitoraln";
cout << " 4 - Creditosn";
cout << " 5 - Sair do Programan";

     //IF para informar opcao errada

     Erro++;
     if(Erro > 1)
     {
             cout << "nOpcao Invalida, Digite Novamente!nn";
     }
     cout << "nInforme sua Opcao: ";
     // Pegando um caractere char do teclado, e trasformando para int
          
     OpcC[0] = getche();
     OpcI[0] = atoi (OpcC);
     OpcC[0] = ' ';
//Repetindo ate opção estiver valida.

}while (OpcI[0] < 1 || OpcI[0] > 5);

switch (OpcI[0])
{
       case 1:
       {
            //Menu CPF
            CPF:
            Erro=0;
            do
            {

            Limpar();
            cout << "--------------------------------------n";
            cout << "-------------Check Plus---------------n";
            cout << "------- O Melhor Validador! ----------n";
            cout << "--------------------------------------n";
            cout << "----------------CPF------------------n";
            cout << "Digite uma Opcao:                     n";  
            cout << " 1 - Verificarn";
            cout << " 2 - Descobrir Digitosn";
            cout << " 3 - Gerarn";
            cout << " 4 - Voltar ao Menu Principaln";

            Erro++;
            if(Erro > 1)
            {
                    cout << "nOpcao Invalida, Digite Novamente!nn";
            }
            cout << "nInforme sua Opcao: ";
            OpcC[0] = getche();
            OpcI[0] = atoi (OpcC);
            OpcC[0] = ' ';

            }while (OpcI[0] < 1 || OpcI[0] > 4);
            
            switch (OpcI[0])
            {      
                   case 1:
                        {
                            //Buscar Função CPFVerifica, Pausar e voltar ao menu.
                            CPFVerifica();
                            Pause();
                            goto CPF;
                        }
                   case 2:
                        {
                            //Buscar Função DigCPF, Pausar e voltar ao menu.
                            DigCPF();
                            Pause();
                            goto CPF;
                        }
                   case 3:
                        {
                            // Buscar Função GerarCPF, Pausar e voltar ao menu.
                            GerarCPF();
                            Pause();
                            goto CPF;
                        }
                   case 4:
                        {
                            //Opção para ir a tela principal do programa.
                            goto inicio;
                        }
            }
       }
       case 2:
       {
            CNPJ:
            Erro=0;
            do
            {

            Limpar();
            cout << "--------------------------------------n";
            cout << "-------------Check Plus---------------n";
            cout << "------- O Melhor Validador! ----------n";
            cout << "--------------------------------------n";
            cout << "----------------CNPJ------------------n";
            cout << "Digite uma Opcao:                     n";  
            cout << " 1 - Verificarn";
            cout << " 2 - Descobrir Digitosn";
            cout << " 3 - Gerarn";
            cout << " 4 - Voltar ao Menu Principaln";

            Erro++;
            if(Erro > 1)
            {
                    cout << "nOpcao Invalida, Digite Novamente!nn";
            }
            cout << "nInforme sua Opcao: ";
            OpcC[0] = getche();
            OpcI[0] = atoi (OpcC);
            OpcC[0] = ' ';

            }while (OpcI[0] < 1 || OpcI[0] > 4);
            
            switch (OpcI[0])
            {
                   case 1:
                        {
                            CNPJVerifica();
                            Pause();
                            goto CNPJ;
                        }
                   case 2:
                        {
                            DigCNPJ();
                            Pause();
                            goto CNPJ;
                        }
                   case 3:
                        {
                            GerarCNPJ();
                            Pause();
                            goto CNPJ;
                        }
                   case 4:
                        {
                            goto inicio;
                        }
            }
       }
       case 3:
       {
            TE:
            Erro=0;
            do
            {

            Limpar();
            cout << "--------------------------------------n";
            cout << "-------------Check Plus---------------n";
            cout << "------- O Melhor Validador! ----------n";
            cout << "--------------------------------------n";
            cout << "---------Titulo de Eleitor------------n";
            cout << "Digite uma Opcao:                     n";  
            cout << " 1 - Verificarn";
            cout << " 2 - Descobrir Digitosn";
            cout << " 3 - Gerarn";
            cout << " 4 - Voltar ao Menu Principaln";

            Erro++;
            if(Erro > 1)
            {
                    cout << "nOpcao Invalida, Digite Novamente!nn";
            }
            cout << "nInforme sua Opcao: ";
            OpcC[0] = getche();
            OpcI[0] = atoi (OpcC);
            OpcC[0] = ' ';

            }while (OpcI[0] < 1 || OpcI[0] > 4);
            
            switch (OpcI[0])
            {
                   case 1:
                        {
                            TEVerifica();
                            Pause();
                            goto TE;
                        }
                   case 2:
                        {
                            DigTitulo();
                            Pause();
                            goto TE;
                        }
                   case 3:
                        {
                            GerarTitulo();
                            Pause();
                            goto TE;
                        }
                   case 4:
                        {
                            goto inicio;
                        }
            }
       }
       case 4:
       {
            //Chama a Função Créditos, Pausa, e Retorna ao menu principal.
            Creditos();
            Pause();
            goto inicio;
       }

       case 5:
       {
            goto fim;
       }
}

fim:
//Menu de Saida
cout << "nnPressione ESC para sair, ou qualquer tecla para voltar. ";
sair = getch();
//Se a opção for ESC sai do programa, se não, volta ao menu principal.
if (sair == 27)
   goto sair;
else
    goto inicio;

sair:

return 0;
}

Arquivos para Download:

Validador de CPF.rar