Advertisement
Arkaitz

Maider

Nov 25th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Module Module1
  2.  
  3.     Sub Main()
  4.         Dim Cuenta() As String = {"01234567810123456789", "451673267925487215478", "20540094870000062141", "53246345189742345324", "74539293410003452345", "45643786349753456720"}
  5.         Dim digitos() As Integer = {7, 3, 6, 1, 2, 4, 8, 5}
  6.         Dim digitos2() As Integer = {10, 9, 7, 3, 6, 1, 2, 4, 8, 5}
  7.         Dim ochoNum As String
  8.         Dim ultimosNum As String
  9.         Dim dosNumStr As String
  10.         Dim dosNum As Integer
  11.         Dim SeparadosStr As String
  12.         Dim separados As Integer
  13.         Dim suma As Integer
  14.         Dim multiplicacion As Integer
  15.         Dim dc1 As Integer
  16.         Dim dc2 As Integer
  17.         Dim dc As Integer
  18.         For i = 0 To Cuenta.Length - 1
  19.  
  20.             ochoNum = Cuenta(i).Substring(0, 8)
  21.  
  22.             suma = 0
  23.             For j = 0 To ochoNum.Length - 1
  24.                 SeparadosStr = ochoNum.Substring(j, 1)
  25.                 Integer.TryParse(SeparadosStr, separados)
  26.                 multiplicacion = separados * digitos(j)
  27.                 suma = suma + multiplicacion
  28.             Next
  29.             dc1 = suma Mod 11
  30.             ultimosNum = Cuenta(i).Substring(10, 10)
  31.             suma = 0
  32.             multiplicacion = 0
  33.             For j = 0 To ultimosNum.Length - 1
  34.                 SeparadosStr = ultimosNum.Substring(j, 1)
  35.                 Integer.TryParse(SeparadosStr, separados)
  36.                 multiplicacion = separados * digitos2(j)
  37.                 suma = suma + multiplicacion
  38.             Next
  39.             dc2 = suma Mod 11
  40.             dc = dc1 & dc2
  41.  
  42.             dosNumStr = Cuenta(i).Substring(8, 2)
  43.             Integer.TryParse(dosNumStr, dosNum)
  44.  
  45.             Console.Write("Nº  {0}", Cuenta(i))
  46.             If dosNum = dc Then
  47.                 Console.WriteLine("es válido, con los DC {0}", dosNum)
  48.             Else
  49.                 Console.WriteLine("NO es válido, porque sus DC son {0} y deberían se {1}", dosNum, dc)
  50.             End If
  51.         Next
  52.  
  53.  
  54.  
  55.         Console.ReadKey()
  56.     End Sub
  57.  
  58. End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement