start tok64 d64-fl4Kta 0 REM"{141}{clear}{ct h}{ct n} 1 REM"{space*4}********************** 2 REM"{space*4}*{space*4}PERSONNUMMER{space*4}* 3 REM"{space*4}*{space*9}av{space*9}* 4 REM"{space*4}* Andreas Gunnarsson * 5 REM"{space*4}*{space*4}Fogdarp 115{space*5}* 6 REM"{space*4}*{space*2}260 91 F{cm -}RSL{cm -}V{space*4}* 7 REM"{space*4}*{space*4}0431-505 14{space*5}* 8 REM"{space*4}********************** 9 REM 10 PRINT"{clear}{ct h}{ct n}" 30 GOSUB4000 40 PRINT"{clear}" 50 x=3:a$="****************":GOSUB1000 60 x=5:GOSUB1000 70 x=4:a$="*{space*14}*":GOSUB1000 80 FORf=1TO3 90 a$="{space*12}":GOSUB1000 100 FORn=1TO70:NEXTn 110 a$="Personnummer":GOSUB1000 120 FORn=1TO100:NEXTn:NEXTf 130 PRINT:PRINT:PRINT:PRINT"Dagens datum:";d$:PRINT:PRINT 140 PRINT"Vilket [r personnumret?" 150 PRINT"Skriv {X*6}-{X*3}(X)" 160 GOSUB3000:PRINT:PRINT:e=0 170 IFMID$(n$,8,3)="{0*3}"THENe=1 175 a$=MID$(n$,3,2):IFa$<"01"ORa$>"12"THENe=e+2:GOTO190 180 IFMID$(n$,5,2)>md$(VAL(MID$(n$,3,2)))ORMID$(n$,5,2)<"01"THENe=e+4 185 a=VAL(LEFT$(n$,2)):IFMID$(n$,3,4)="0229"AND(a/4<>INT(a/4)ORa=0)THENe=e+4 190 IFeTHEN8000 200 GOSUB2000 210 IFLEN(n$)=10THEN300 220 IFc$=RIGHT$(n$,1)THEN310 230 PRINT"Kontrollsiffran st[mmer inte!" 240 GOTO5000 300 n$=n$+c$ 310 PRINT"{clear}":x=2:a$="Personnummer!":GOSUB1000 315 x=3:a$="{-*13}":GOSUB1000 320 PRINT:PRINT:PRINT"Dagens datum:":a$=d$+"-":GOSUB6000 330 PRINT:PRINT:PRINT:PRINT"Personnummer: ";n$ 340 PRINT:PRINT"F{pound}dd:":a$=n$:GOSUB6000:PRINT 343 a=VAL(MID$(n$,8,3)):IFa>929THENPRINT"p] ok[nd ort":GOTO350 347 PRINT"i ";o$(a);" l[n" 350 PRINT:PRINT"K{pound}n: ";:a=VAL(MID$(n$,10,1))/2 360 IFa=INT(a)THENPRINT"kvinna":GOTO370 365 PRINT"man" 370 GOTO5000 997 REM 998 REM *** centrera *** 999 REM 1000 y=20-LEN(a$)/2:GOSUB7000:PRINTa$:RETURN 1997 REM 1998 REM *** ber[kna kontrollsiffra *** 1999 REM 2000 a$="":FORf=1TO5STEP2:GOTO2020 2010 FORf=8TO10STEP2 2020 a$=a$+STR$(VAL(MID$(n$,f,1))*2) 2030 NEXTf:IFf=7THEN2010 2040 FORf=2TO6STEP2 2050 a$=a$+MID$(n$,f,1):NEXTf 2060 a$=a$+MID$(n$,9,1) 2070 c=0:FORf=1TOLEN(a$):c=c+VAL(MID$(a$,f,1)):NEXTf 2080 c$=RIGHT$(STR$(1000-c),1) 2090 RETURN 2997 REM 2998 REM *** input nummer *** 2999 REM 3000 n$="":FORf=1TO6 3010 GETa$:IFa$<"0"ORa$>"9"THEN3010 3020 n$=n$+a$:PRINTa$;:NEXTf 3030 GETa$:IFa$="-"ORa$="+"THENn$=n$+a$:GOTO3040 3035 GOTO3030 3040 PRINTa$;:FORf=1TO3 3050 GETa$:IFa$<"0"ORa$>"9"THEN3050 3060 n$=n$+a$:PRINTa$;:NEXTf 3070 GETa$:IFa$=CHR$(13)THEN3100 3080 IFa$<"0"ORa$>"9"THEN3070 3090 n$=n$+a$:PRINTa$; 3100 RETURN 3997 REM 3998 REM *** initiering *** 3999 REM 4000 GOSUB9000 4005 DIMo$(999):f=1 4010 READo,o$:IFo=0THEN4100 4020 FORf=fTOo:o$(f)=o$:NEXTf 4030 GOTO4010 4100 DIMm$(12):FORf=1TO12:READm$(f):NEXTf 4110 DIMd$(6):FORf=0TO6:READd$(f):NEXTf 4120 PRINT"{down}Vilket datum [r det idag?":PRINT"(Ex: 851014)":PRINT 4130 d$="":FORf=1TO6 4140 GETa$:IFa$<"0"ORa$>"9"THEN4140 4150 d$=d$+a$:PRINTa$;:NEXTf:PRINT:PRINT 4160 PRINT"Datum: ";d$:PRINT"Korrekt? (j/n)" 4170 GETa$:IFa$="n"ORa$="N"THEN4120 4180 IFa$<>"j"ANDa$<>"J"THEN4170 4200 DIMm%(12):FORf=1TO12:READm%(f):NEXTf 4210 DIMmd$(12):FORf=1TO12:READmd$(f):NEXTf 4900 RETURN 4997 REM 4998 REM *** varmstart *** 4999 REM 5000 PRINT:PRINT:PRINT"Fler personnummer? (j/n)" 5010 GETa$:IFa$="j"ORa$="J"THEN40 5020 IFa$<>"n"ANDa$<>"N"THEN5010 5030 PRINT"{clear}";:END 5997 REM 5998 REM *** skriv ut datum *** 5999 REM 6000 a=INT(VAL(LEFT$(a$,2))*1.25) 6010 a=a+m%(VAL(MID$(a$,3,2)))+VAL(MID$(a$,5,2)) 6020 IFMID$(a$,7,1)="+"ORLEFT$(a$,6)>d$THENa=a+2:c=1:GOTO6030 6025 c=0 6030 b=VAL(LEFT$(a$,2)):IFbANDb/4=INT(b/4)THENb=1:GOTO6040 6035 b=0 6040 b$=MID$(a$,3,2):IF(b$="01"ORb$="02")ANDbTHENa=a-1 6050 PRINTd$(a-7*INT(a/7));"dagen den"; 6060 PRINTVAL(MID$(a$,5,2));"{left}:"; 6070 IFMID$(a$,6,1)="2"ANDMID$(a$,5,1)<>"1"THENPRINT"a ";:GOTO6080 6075 PRINT"e "; 6080 PRINTm$(VAL(MID$(a$,3,2))); 6090 IFcTHENPRINT" 18";:GOTO6100 6095 PRINT" 19"; 6100 PRINTLEFT$(a$,2);:RETURN 6997 REM 6998 REM *** plot (=cur) *** 6999 REM 7000 POKE783,0:POKE782,y:POKE781,x:POKE780,0:SYS65520:RETURN 7997 REM 7998 REM *** visa error *** 7999 REM 8000 IFeAND1THENPRINT"De tre f{pound}rsta siffrorna efter strecket{space*2}kan inte vara {0*3}!" 8010 IFeAND2THENPRINT"Fel m]nadsnummer!" 8020 IFeAND4THENPRINT"Fel datum!" 8030 GOTO5000 8997 REM 8998 REM *** f{pound}rtext *** 8999 REM 9000 POKE53280,7:POKE53281,7:PRINT"{clear}{blue}{down}" 9010 PRINT"Detta program [r gjort av" 9020 PRINT"{down*2}Andreas Gunnarsson" 9030 PRINT"{down}Fogdarp 115" 9040 PRINT"{down}260 91 F{cm -}RSL{cm -}V" 9050 PRINT"{down*2}Tel: 0431-505 14 9060 PRINT"{down*2}Om du f]r problem med detta program," 9070 PRINT"{down}eller vill byta program med mej, kan" 9080 PRINT"{down}du v[l kontakta mej{!*4}" 9090 RETURN 9997 REM 9998 REM *** data *** 9999 REM 10000 DATA139,stockholms 10010 DATA159,uppsala 10020 DATA189,s{pound}dermanlands 10030 DATA239,{pound}sterg{pound}tlands 10040 DATA269,j{pound}nk{pound}pings 10050 DATA289,kronobergs 10060 DATA319,kalmar 10070 DATA329,gotlands 10080 DATA349,blekinge 10090 DATA389,kristianstads 10100 DATA459,malm{pound}hus 10110 DATA479,hallands 10120 DATA549,g{pound}teborgs och bohus 10130 DATA589,[lvsborgs 10140 DATA619,skaraborgs 10150 DATA659,v[rmlands 10160 DATA689,{pound}rebro 10170 DATA709,v[stermanlands 10180 DATA749,kopparbergs 10190 DATA779,g[vleborgs 10200 DATA819,v[sternorrlands 10210 DATA849,j[mtlands 10220 DATA889,v[sterbottens 10230 DATA929,norrbottens 10240 DATA0,slut 10250 DATAjanuari,februari,mars,april,maj,juni 10260 DATAjuli,augusti,september,oktober,november,december 10270 DATAl{pound}r,s{pound}n,m]n,tis,ons,tors,fre 10280 DATA1,4,4,0,2,5,0,3,6,1,4,6 10290 DATA31,29,31,30,31,30,31,31,30,31,30,31 stop tok64 (bastext 1.0)