Zadání:
Sestavte program, který ověří správnost rodného čísla.
Řešení:
Program nejdříve zkopíruje koncovku rodného čísla: zjistí pozici lomítka, pokud lomítko v zadaném rodném čísle
existuje, zkopíruje do proměnné c znaky od osmého znaku do konce řetězce, pokud lomítko neexistuje, zkopíruje
znaky od sedmé pozice do konce řetězce.
Poté program pomocí cyklu FOR převede zkopírovanou koncovku rodného čísla ze znaků na číslo do proměnné ci.
Na konci programu se testuje, zda zadané číslo je správné. Rodné číslo je správné, pokud je součet dne, měsíce,
roku a koncovky dělitelný beze zbytku číslem 11.
Např. rodné číslo 681103/2206: 68 + 11 + 03 + 2206 = 2288, 2288 : 11 = 208, rodné číslo je právné.
Module Module1
Sub Main()
Dim rc, c As String
Dim poz, ci, i As Integer
Console.Write("Zadejte rodne cislo: ")
rc = Console.ReadLine
poz = InStr(rc, "/")
If poz = 0 Then
c = Right(rc, Len(rc) - 6)
Else
c = Right(rc, Len(rc) - 7)
End If
ci = 0
For i = 0 To Len(c) - 1
ci = 10 * ci + Asc(c(i)) - Asc("0")
Next i
If ((Asc(rc(0)) + Asc(rc(2)) + Asc(rc(4)))*10 + Asc(rc(1)) + Asc(rc(3)) + Asc(rc(5))
+ ci - 33 * Asc("0")) Mod 11 = 0 Then
Console.WriteLine("Spravne")
Else
Console.WriteLine("Spatne")
End If
Console.ReadLine()
End Sub
End Module
program ke stažení