AJUDA COM VB URGENTE ATÉ AMANHA DIA 5/6/2016

TESTE 04/06/2016 00:10:48
#463043
Alguem pode me ajudar com isso ?
Considerando as seguintes rotinas para validação do CPF conforme abaixo:
Public Interface IValida

Property Resultado As String

Sub ValidaCPF()

Sub ValidaDigito()

End Interface Module Module1

Sub Main()
Dim v As New ValidaCPF
Console.WriteLine([Ô]Informe o CPF:[Ô])
v.Cpf = Console.ReadLine()
v.ValidaCPF()
Console.WriteLine(v.Resultado)
Console.ReadLine()
End Sub

End Module


Public Class ValidaCPF
Implements IValida
Private _cpf As String

Public Property Cpf As String
Get
Return _cpf
End Get
Set(value As String)
_cpf = value
End Set
End Property

Public Property Resultado As String
Implements IValida.Resultado

Public Sub ValidaCPF() Implements IValida.ValidaCPF

Dim i, x, n1, n2 As Integer

If _cpf.Length >= 11 Then
Cpf = _cpf.Replace([Ô].[Ô], [Ô][Ô]).Replace([Ô]-[Ô], [Ô][Ô])
For x = 0 To 1
n1 = 0
For i = 0 To 8 + x
n1 = n1 + Val(Cpf.Substring(i, 1)) * (10 + x - i)
Next
n2 = 11 - (n1 - (Int(n1 / 11) * 11))
If n2 = 10 Or n2 = 11 Then n2 = 0

If n2 <> Val(Cpf.Substring(9 + x, 1)) Then
Resultado = [Ô]CPF Invalido[Ô]
Else
Resultado = [Ô]CPF Valido[Ô]
End If
Next
Else
Resultado = [Ô]CPF invalido[Ô]
End If
End Sub
End Class

Eu preciso Criar a Classe ValidaDigito() implementando a interface IVerifica conforme as especificações abaixo: (2 pontos)

5 passos para o cálculo algoritmo do dígito verificador de código de Barras:

Vamos supor que estamos usando o código fictício de: 05432122345.

a) Adicione todos os dígitos das posições ímpares (dígitos na posição 1, 3, 5, 7, 9 e 11)
0 + 4 + 2 + 2 + 3 + 5 = 16
b) Multiplique por 3.
16 * 3 = 48
c) Adicione todos os dígitos das posições pares (dígitos na posição 2, 4, 6, 8 e 10).
5 + 3 + 1 + 2 + 4 = 15
d) Some os resultados das etapas 3 e 2.
48 + 15 = 63
e) Adicione o número ao resultado do passo 4 para criar um múltiplo de 10.
63 + 7 = 70  Portanto, o dígito verificador é 7.

Modificar o código do Main (acrescentar o código) para que possibilite testar e apresentar o resultado do ValidaDigito() (2 pontos)

e criar um método na Interface chamado ValidaCNPJ(), implemente a respectiva classe e acrescente código no Main para que o mesmo possa receber um CNPJ e atestar se o mesmo é valido
DS2T 04/06/2016 00:40:40
#463044
Qual a sua dúvida?
TESTE 04/06/2016 00:50:25
#463045
minha dúvida é como eu faço para implementar seguindo essas especificações: Obs: encontrei isso em um site que eu estava olhando mais não tinha explicação

1) Eu preciso Criar a Classe ValidaDigito() implementando a interface IVerifica conforme as especificações abaixo:

5 passos para o cálculo algoritmo do dígito verificador de código de Barras:

Vamos supor que estamos usando o código fictício de: 05432122345.

a) Adicione todos os dígitos das posições ímpares (dígitos na posição 1, 3, 5, 7, 9 e 11)
0 + 4 + 2 + 2 + 3 + 5 = 16
b) Multiplique por 3.
16 * 3 = 48
c) Adicione todos os dígitos das posições pares (dígitos na posição 2, 4, 6, 8 e 10).
5 + 3 + 1 + 2 + 4 = 15
d) Some os resultados das etapas 3 e 2.
48 + 15 = 63
e) Adicione o número ao resultado do passo 4 para criar um múltiplo de 10.
63 + 7 = 70  Portanto, o dígito verificador é 7.

2) Modificar o código do Main (acrescentar o código) para que possibilite testar e apresentar o resultado do ValidaDigito()

3) e criar um método na Interface chamado ValidaCNPJ(), implemente a respectiva classe e acrescente código no Main para que o mesmo possa receber um CNPJ e atestar se o mesmo é valido
DS2T 04/06/2016 01:01:20
#463046
Entendi, você poderia me passar o site para eu dar uma olhada?
Até porque gostei do tipo de questão, posso arrumar outros exercícios pra treinar lá...
TESTE 04/06/2016 01:10:15
#463048
eu encontrei neste site algumas coisas
http://www.codigodebarrasean.com/calculadora_do_digito_verificador.php

https://web.fe.up.pt/~tavares/ensino/CFAC/Downloads/Apontamentos/VB_exercicios.pdf

http://www.macoratti.net/pageview.aspx?catid=1

http://www.apostilando.com/download.php?cod=404
JABA 04/06/2016 13:23:07
#463053
Esse algoritmo que você postou é para validação de código de barras, não tem nada a ver com CPF. O algoritmo para validação de CPF pode ser encontrado aqui: http://www.geradorcpf.com/algoritmo_do_cpf.htm
JABA 04/06/2016 21:42:46
#463067
    
Dim somaPar As Integer = 0
Dim somaImpar As Integer = 0
Dim total As Integer = 0
Dim digitoVerificador As Integer = 0
Dim codigoBarras As String = [Ô]05432122345[Ô]

For i As Integer = 0 To codigoBarras.Length - 1

If (i Mod 2) = 0 Then
somaImpar = somaImpar + codigoBarras.Substring(i, 1)
Else
somaPar = somaPar + codigoBarras.Substring(i, 1)
End If

Next

total = (somaPar + (somaImpar * 3))

For i As Integer = 0 To 9
If (total + i) Mod 10 = 0 Then
digitoVerificador = i
Exit For
End If

Next

MsgBox(digitoVerificador)

Faça seu login para responder