AJUDA COM VB URGENTE ATÉ AMANHA DIA 5/6/2016
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
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
Qual a sua dúvida?
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
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
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á...
Até porque gostei do tipo de questão, posso arrumar outros exercÃcios pra treinar lá...
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
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
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
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