Option Strict On
Imports System.Console
Module Module1
'Harjoitus 13.2 Henkilötunnus tarkistus by KimE
Sub Main()
Dim strSotu As String
Dim Virhe As Boolean
Dim I As Integer
Virhe = False
Write("Anna Henkilötunnuksesi muodossa[PPKKVV-XXXX]: ")
strSotu = ReadLine()
' Ensin on varmistettava jonon pituus!
If strSotu.Length <> 11 Then
Virhe = True
WriteLine("Virhe: Kirjoita henkilötunnuksesi muodossa [PPKKVV-XXXX]")
Else
For I = 0 To strSotu.Length - 1
Select Case I
Case 0 To 5, 7 To 9 'näissä paikoissa pitäisi olla numero
If Not (IsNumeric(strSotu.Substring(I, 1))) Then
Virhe = True
WriteLine("Virhe: virheellinen merkki paikassa " & I + 1)
End If
Case 6 ' tässä paikassa tulisi olla +, - tai A
If strSotu.Substring(I, 1) <> "+" Or strSotu.Substring(I, 1) <> "-" Or strSotu.Substring(I, 1) <> "A" Then
WriteLine("Virhe: Välimerkin täytyy olla [+, - tai A]")
Write(strSotu.Substring(I, 1))
End If
End Select
Next
End If ' if straika.Length <> 8
ReadLine()
End Sub
End Module