Ir para conteúdo
Fórum Script Brasil
  • 0

Fazer um programa em C para pedir ao usuário todos os 12 primeiros dígitos de um CNPJ


Alyni

Pergunta

Fazer um programa em C para pedir ao usuário todos os 12 primeiros dígitos de um CNPJ usando obrigatoriamente a Estrutura FOR para guardar dígito a dígito e em um vetor denominado CNPJ_VETOR que deve ser obrigatoriamente um vetor de números inteiros.(NÃO SERÁ PERMITIDO USAR STRING NESTE PROGRAMA POIS SE USAR STRING NÃO SERÁ CONSIDERADA ESTA QUESTÃO) Depois com estes dígitos calcular o Primeiro e Segundo Dígito Verificador conforme regra abaixo. E depois imprimir na tela o seguinte

“O primeiro dígito verificador para este CNPJ é N”
(onde N é o primeiro dígito verificador que você calculou )
“O segundo dígito verificador para este CNPJ é M “
(onde N é o primeiro dígito verificador que você calculou )

“Logo o CNPJ completo é MMMMMMMMMMDD “

onde MMMMMMMMMMMM são os pirmeiros 12 dígitos
e DD o primeiro e segundo dígitos verificadores

REGRA PARA ACHAR PRIMEIRO E SEGUNDO DÍGITO VERIFICADOR DE CNPJ
Os dígitos verificadores (DV) são criados a partir dos doze primeiros. O cálculo é feito em duas etapas utilizando o módulo de divisão 11. Para exemplificar o processo e tornar mais fácil a explicação vamos calcular os dígitos verificadores de um CNPJ hipotético, por exemplo, 11.444.777/0001-XX.

Calculando o Primeiro Dígito Verificador O primeiro dígito é calculado utilizando-se o seguinte algoritmo.

A) Distribua os 12 primeiros dígitos em um quadro colocando os pesos 5,4,3,2,9,8,7,6,5,4,3,2 abaixo da esquerda para a direita, conforme representação abaixo:

1 1 4 4 4 7 7 7 0 0 0 1
5 4 3 2 9 8 7 6 5 4 3 2

B) Multiplique os valores de cada coluna:

1 1 4 4 4 7 7 7 0 0 0 1
5 4 3 2 9 8 7 6 5 4 3 2
 4 12 8 36 56 49 42 0 0 0 2

C) Calcule o somatório dos resultados (5+4+...+0+2) = 214 2 D) O resultado obtido (214) será divido por 11. Considere como quociente apenas o valor inteiro, o resto da divisão será responsável pelo cálculo do primeiro dígito verificador.
Vamos acompanhar: 214 dividido por 11 obtemos 19 como quociente e 5 como resto da divisão. Caso o resto da divisão seja menor que 2, o nosso primeiro dígito verificador se torna 0 (zero), caso contrário subtrai-se o valor obtido de 11, que é nosso caso. Sendo assim nosso dígito verificador é 11-5, ou seja, 6 (seis).

Já temos portanto parte do CNPJ, confira: 11.444.777/0001-6X.

Calculando o Segundo Dígito Verificador

A) Para o cálculo do segundo dígito será usado o primeiro dígito verificador já calculado. Montaremos uma tabela semelhante a anterior só que desta vez usaremos na segunda linha os valores 6,5,4,3,2,9,8,7,6,5,4,3,2 já que estamos incorporando mais um algarismo para esse cálculo. Veja:

1 1 4 4 4 7 7 7 0 0 0 1 6
6 5 4 3 2 9 8 7 6 5 4 3 2

B) Na próxima etapa faremos como na situação do cálculo do primeiro dígito verificador, multiplicaremos os valores de cada coluna e efetuaremos o somatório dos resultados obtidos: (6+5+...+3+12) = 221.

1 1 4 4 4 7 7 7 0 0 0 1 6
6 5 4 3 2 9 8 7 6 5 4 3 2
6 5 16 12 8 63 56 49 0 0 0 3 12

C) Realizamos novamente o cálculo do módulo 11. Dividimos o total do somatório por 11 e consideramos o resto da divisão.
Vamos acompanhar: 230 dividido por 11 obtemos 20 como quociente e 10 como resto da divisão.

D) Caso o valor do resto da divisão seja menor que 2, esse valor passa automaticamente a ser zero, caso contrário (como no nosso exemplo) é necessário subtrair o valor obtido de 11 para se obter o dígito verificador, como realizado no cálculo do primeiro dígito. Logo, 11-10 = 1 é o nosso segundo dígito verificador.

Chegamos ao final dos cálculos e descobrimos que os dígitos verificadores do nosso CNPJ hipotético são os números 6 e 1, portanto o CNPJ ficaria assim: 11.444.777/0001-61.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...