Navigace: Hlavní stránka -> BASIC -> 10 Znaky, texty ->10.08 Ověření správnosti rodného čísla

MENU

10.08 Ověření správnosti rodného čísla

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í