Tämän koodin avulla voi tarkastaa onko annetun henkilötunnuksen (ilman tunnistetta)tunniste oikein, toisinsanoen se laskee onko se oikein.
Tällä voi myös tehdä oman henkilötunnuksen.
Hyötyä tälle en tiedä, mutta merkkijonoharjoituksena tämä on hyvä.
''itse ohjelma
RANDOMIZE TIMER
DIM tark(0 TO 30) AS STRING
DIM aika AS STRING
DIM aika2 AS STRING
DIM totaali AS STRING
DIM jakari AS LONG
DIM bufker AS LONG
CLS
OPEN "hetu.txt" FOR INPUT AS #1
FOR i = 0 TO 30
INPUT #1, tark(i)
NEXT i
CLOSE #1
DO
INPUT "(g)enerate (c)heck (q)uit: ", cho$
aika = ""
aika2 = ""
aika = aika + CHR$(INT(RND * 2) + 49)
aika = aika + CHR$(INT(RND * 10) + 48)
aika = aika + CHR$(INT(RND * 2) + 48)
aika = aika + CHR$(INT(RND * 2) + 49)
aika = aika + CHR$(INT(RND * 4) + 53)
aika = aika + CHR$(INT(RND * 4) + 53)
aika2 = aika2 + CHR$(INT(RND * 5) + 49)
aika2 = aika2 + CHR$(INT(RND * 5) + 49)
aika2 = aika2 + CHR$(INT(RND * 5) + 49)
jakari = 0
f = 1
IF LCASE$(cho$) = "c" THEN INPUT aika, aika2
totaali = aika + aika2
FOR b = 1 TO LEN(totaali) - 1
f = f * 10
NEXT b
FOR b = 1 TO LEN(totaali)
IF MID$(totaali, b, 1) = "9" THEN bufker = 9
IF MID$(totaali, b, 1) = "8" THEN bufker = 8
IF MID$(totaali, b, 1) = "7" THEN bufker = 7
IF MID$(totaali, b, 1) = "6" THEN bufker = 6
IF MID$(totaali, b, 1) = "5" THEN bufker = 5
IF MID$(totaali, b, 1) = "4" THEN bufker = 4
IF MID$(totaali, b, 1) = "3" THEN bufker = 3
IF MID$(totaali, b, 1) = "2" THEN bufker = 2
IF MID$(totaali, b, 1) = "1" THEN bufker = 1
IF MID$(totaali, b, 1) = "0" THEN bufker = 0
jakari = jakari + (f * bufker)
f = f / 10
NEXT b
jakari = jakari MOD 31
aika2 = aika2 + tark(jakari)
PRINT aika; "-"; aika2
LOOP UNTIL LCASE$(cho$) = "q"tallenna tämä tiedostoon "hetu.txt":
"0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "A" "B" "C" "D" "E" "F" "H" "J" "K" "L" "M" "N" "P" "R" "S" "T" "U" "V" "W" "X" "Y"
Aihe on jo aika vanha, joten et voi enää vastata siihen.