CLS LOCATE 12, 25: PRINT "Tmm a fejemet..." hely = 1 DIM nev$(16) DIM targy$(11) DIM jegy(16, 11, 10) DIM szin(16, 16) DIM rovtargy$(11) FOR i = 11 TO 14 KEY(i) ON NEXT i olvas: OPEN "jegyek.dat" FOR INPUT AS #1 FOR i = 1 TO 16 FOR j = 1 TO 11 FOR k = 1 TO 10 INPUT #1, jegy(i, j, k) NEXT k NEXT j NEXT i CLOSE #1 nev$(1) = "Benis Attila" nev$(2) = "Csernok Mria" nev$(3) = "Egri Ilona" nev$(4) = "Gl Rbert" nev$(5) = "Hicsk Eszter" nev$(6) = "Horvth Zsfia" nev$(7) = "Horvth Zsolt" nev$(8) = "Krsz Pter" nev$(9) = "Kovcs Krisztina" nev$(10) = "Lszl Istvn" nev$(11) = "Maulis dm" nev$(12) = "Molnr Csaba" nev$(13) = "Nagy Mrk" nev$(14) = "Nmeth Bence" nev$(15) = "Sndor Gyula" nev$(16) = "Urbn Mikls" adatok: ho$(1) = "Szeptember" ho$(2) = "Oktber" ho$(3) = "November" ho$(4) = "December" ho$(5) = "Janur" ho$(6) = "Februr" ho$(7) = "Mrcius" ho$(8) = "prilis" ho$(9) = "Mjus" ho$(10) = "Jnius" targy$(1) = "Algebra" targy$(2) = "Analzis" targy$(3) = "Ks.fiz." targy$(4) = "Mat.kieg." targy$(5) = "Vges matek" targy$(6) = "Fizika labor" targy$(7) = "Szm.tech." targy$(8) = "Idegen nyelv" targy$(9) = "Trs.tudomny" targy$(10) = "Testnevels" targy$(11) = "Msvalami" rovtargy$(1) = "Alg" rovtargy$(2) = "Ana" rovtargy$(3) = "Ks" rovtargy$(4) = "MKg" rovtargy$(5) = "VMt" rovtargy$(6) = "FLb" rovtargy$(7) = "Szt" rovtargy$(8) = "INy" rovtargy$(9) = "Tsd" rovtargy$(10) = "Tes" rovtargy$(11) = "Ms" cim$(1) = "Egy nebul viselt dolgai" cim$(2) = "Egy tantrgy ltal okozott krok" cim$(3) = "Egy hnap termse" teto$(1) = "͵" tabl$(1) = " " alja$(1) = ";" teto$(2) = "͵" tabl$(2) = " " alja$(2) = ";" mirevagy: CLS LOCATE 2, 25: PRINT "Mire vagy kvncsi?" LOCATE 20, 10: PRINT " gomb most: ments, mshol: visszalps." FOR i = 1 TO 3 IF i = 1 THEN COLOR 0, 7 ELSE COLOR 7, 0 GOSUB cimkiiras NEXT i hely = 1 dd: a$ = INKEY$ ON KEY(11) GOSUB fel0 ON KEY(14) GOSUB le0 IF a$ = CHR$(13) THEN kivantadat = hely: GOTO kifele IF a$ = CHR$(27) THEN GOTO ir GOTO dd fel0: regihely = hely: hely = hely - 1 IF hely = 0 THEN hely = 3 i = regihely: COLOR 7, 0: GOSUB cimkiiras i = hely: COLOR 0, 7: GOSUB cimkiiras RETURN le0: regihely = hely: hely = hely + 1 IF hely = 4 THEN hely = 1 i = regihely: COLOR 7, 0: GOSUB cimkiiras i = hely: COLOR 0, 7: GOSUB cimkiiras RETURN cimkiiras: LOCATE 3 * i + 4, 20: PRINT cim$(i) RETURN kifele: COLOR 7, 0 SELECT CASE kivantadat CASE IS = 1 GOTO nev CASE IS = 2 GOTO targy CASE IS = 3 GOTO ho END SELECT nev: CLS FOR i = 1 TO 16: FOR j = 1 TO 10 szin(i, j) = 7 NEXT j: NEXT i hely = 1 FOR i = 1 TO 16 GOSUB kiir1 NEXT i i = hely: COLOR 0, 7: GOSUB kiir1 merre1: a$ = INKEY$ ON KEY(11) GOSUB fel1 ON KEY(12) GOSUB balra1 ON KEY(13) GOSUB jobbra1 ON KEY(14) GOSUB le1 IF a$ = CHR$(13) THEN mitakarsz = hely: GOTO tablazat1 IF a$ = CHR$(27) THEN COLOR 7, 0: GOTO mirevagy GOTO merre1 fel1: regihely = hely: hely = hely - 1 IF hely = 0 THEN hely = 16 i = regihely: COLOR 7, 0: GOSUB kiir1 i = hely: COLOR 0, 7: GOSUB kiir1 RETURN balra1: regihely = hely: hely = hely - 8 IF hely < 1 THEN hely = hely + 16 i = regihely: COLOR 7, 0: GOSUB kiir1 i = hely: COLOR 0, 7: GOSUB kiir1 RETURN jobbra1: regihely = hely: hely = hely + 8 IF hely > 16 THEN hely = hely - 16 i = regihely: COLOR 7, 0: GOSUB kiir1 i = hely: COLOR 0, 7: GOSUB kiir1 RETURN le1: regihely = hely: hely = hely + 1 IF hely = 17 THEN hely = 1 i = regihely: COLOR 7, 0: GOSUB kiir1 i = hely: COLOR 0, 7: GOSUB kiir1 RETURN GOTO merre1 kiir1: LOCATE 2 * (i - INT((i - 1) / 8) * 8 - 1) + 3, INT((i - 1) / 8) * 30 + 15: PRINT nev$(i) RETURN targy: FOR i = 1 TO 16: FOR j = 1 TO 10 szin(i, j) = 7 NEXT j: NEXT i CLS hely = 1 FOR i = 1 TO 11 GOSUB kiir2 NEXT i i = hely: COLOR 0, 7: GOSUB kiir2 merre2: a$ = INKEY$ ON KEY(11) GOSUB fel2 ON KEY(14) GOSUB le2 IF a$ = CHR$(13) THEN mitakarsz = hely: GOTO tablazat2 IF a$ = CHR$(27) THEN COLOR 7, 0: GOTO mirevagy GOTO merre2 fel2: regihely = hely: hely = hely - 1 IF hely = 0 THEN hely = 11 i = regihely: COLOR 7, 0: GOSUB kiir2 i = hely: COLOR 0, 7: GOSUB kiir2 RETURN le2: regihely = hely: hely = hely + 1 IF hely = 12 THEN hely = 1 i = regihely: COLOR 7, 0: GOSUB kiir2 i = hely: COLOR 0, 7: GOSUB kiir2 RETURN GOTO merre2 kiir2: LOCATE i + 3, 25: PRINT targy$(i) RETURN ho: FOR i = 1 TO 16: FOR j = 1 TO 11 szin(i, j) = 7 NEXT j: NEXT i CLS hely = 1 FOR i = 1 TO 10 GOSUB kiir3 NEXT i i = hely: COLOR 0, 7: GOSUB kiir3 merre3: a$ = INKEY$ ON KEY(11) GOSUB fel3 ON KEY(14) GOSUB le3 IF a$ = CHR$(13) THEN mitakarsz = hely: GOTO tablazat3 IF a$ = CHR$(27) THEN COLOR 7, 0: GOTO mirevagy GOTO merre3 fel3: regihely = hely: hely = hely - 1 IF hely = 0 THEN hely = 10 i = regihely: COLOR 7, 0: GOSUB kiir3 i = hely: COLOR 0, 7: GOSUB kiir3 RETURN le3: regihely = hely: hely = hely + 1 IF hely = 11 THEN hely = 1 i = regihely: COLOR 7, 0: GOSUB kiir3 i = hely: COLOR 0, 7: GOSUB kiir3 RETURN GOTO merre3 kiir3: LOCATE i + 5, 30: PRINT ho$(i) RETURN tablazat1: felulrol = 6: balrol = 5 COLOR 7, 0 CLS LOCATE 1, 30: PRINT nev$(mitakarsz) LOCATE 3, 18: PRINT "" FOR j = 1 TO 10 LOCATE 3, 15 + 4 * j: PRINT LEFT$(ho$(j), 3); "" NEXT j LOCATE 3, 62: PRINT "tlag " LOCATE 4, 18: PRINT teto$(1) FOR i = 1 TO 11 LOCATE i + 4, 1: PRINT targy$(i): LOCATE i + 4, 18: PRINT tabl$(1) NEXT i LOCATE 16, 18: PRINT alja$(1) FOR i = 1 TO 11 FOR j = 1 TO 10 GOSUB jegykiiras1 szam = jegy(mitakarsz, i, j) IF szam > 0 THEN osszeg = osszeg + szam: szamlalo = szamlalo + 1 NEXT j IF szamlalo > 0 THEN GOSUB atlag1 osszeg = 0: szamlalo = 0 NEXT i szerkesztes1: COLOR 0, 7 i = 6: j = 5 GOSUB jegykiiras1 GOSUB targykiiras GOSUB hokiiras ee: a$ = INKEY$ u = VAL(a$) IF u < 6 AND u > 0 AND u <> jegy(mitakarsz, felulrol, balrol) THEN GOTO atiras1 ON KEY(11) GOSUB fel4 ON KEY(12) GOSUB balra4 ON KEY(13) GOSUB jobbra4 ON KEY(14) GOSUB le4 IF a$ = CHR$(27) THEN COLOR 7, 0: GOTO nev GOTO ee fel4: regifelul = felulrol felulrol = felulrol - 1 IF felulrol = 0 THEN felulrol = 11 i = regifelul: j = balrol COLOR 7, 0 lep1: GOSUB targykiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras1 IF megvan = 1 THEN megvan = 0: RETURN i = felulrol megvan = 1 COLOR 0, 7: GOTO lep1 balra4: regibal = balrol balrol = balrol - 1 IF balrol = 0 THEN balrol = 10 COLOR 7, 0 i = felulrol: j = regibal lep2: GOSUB hokiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras1 IF megvan = 1 THEN megvan = 0: RETURN j = balrol megvan = 1 COLOR 0, 7: GOTO lep2 jobbra4: regibal = balrol balrol = balrol + 1 IF balrol = 11 THEN balrol = 1 COLOR 7, 0 i = felulrol: j = regibal lep3: GOSUB hokiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras1 IF megvan = 1 THEN megvan = 0: RETURN j = balrol megvan = 1 COLOR 0, 7: GOTO lep3 le4: regifelul = felulrol felulrol = felulrol + 1 IF felulrol = 12 THEN felulrol = 1 COLOR 7, 0 i = regifelul: j = balrol lep4: GOSUB targykiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras1 IF megvan = 1 THEN megvan = 0: RETURN i = felulrol megvan = 1 COLOR 0, 7: GOTO lep4 atiras1: i = felulrol: j = balrol jegy(mitakarsz, i, j) = u COLOR 12, 7: GOSUB jegykiiras1 szin(i, j) = 12 FOR k = 1 TO 10 szam = jegy(mitakarsz, i, k) osszeg = osszeg + szam IF szam > 0 THEN szamlalo = szamlalo + 1 NEXT k COLOR 7, 0: GOSUB atlag1 osszeg = 0: szamlalo = 0 GOTO ee atlag1: atlag = osszeg / szamlalo y = INT(100 * atlag) / 100 IF atlag - y <= .005 THEN atlag = y ELSE atlag = y + .01 LOCATE i + 4, 60: PRINT atlag; " " RETURN tablazat2: felulrol = 8: balrol = 5 COLOR 7, 0 CLS LOCATE 1, 35: PRINT targy$(mitakarsz) LOCATE 3, 18: PRINT "" FOR j = 1 TO 10 LOCATE 3, 15 + 4 * j: PRINT LEFT$(ho$(j), 3); "" NEXT j LOCATE 3, 62: PRINT "tlag " LOCATE 4, 18: PRINT teto$(1) FOR i = 1 TO 16 LOCATE i + 4, 1: PRINT nev$(i): LOCATE i + 4, 18: PRINT tabl$(1) NEXT i LOCATE 21, 18: PRINT alja$(1) FOR i = 1 TO 16 FOR j = 1 TO 10 GOSUB jegykiiras2 szam = jegy(i, mitakarsz, j) IF szam > 0 THEN osszeg = osszeg + szam: szamlalo = szamlalo + 1 NEXT j IF szamlalo > 0 THEN GOSUB atlag1 osszeg = 0: szamlalo = 0 NEXT i szerkesztes2: COLOR 0, 7 i = 8: j = 5 GOSUB jegykiiras2 GOSUB nevkiiras GOSUB hokiiras ff: a$ = INKEY$ u = VAL(a$) IF u < 6 AND u > 0 AND u <> jegy(felulrol, mitakarsz, balrol) THEN GOTO atiras2 ON KEY(11) GOSUB fel5 ON KEY(12) GOSUB balra5 ON KEY(13) GOSUB jobbra5 ON KEY(14) GOSUB le5 IF a$ = CHR$(27) THEN COLOR 7, 0: GOTO targy GOTO ff fel5: regifelul = felulrol felulrol = felulrol - 1 IF felulrol = 0 THEN felulrol = 16 i = regifelul: j = balrol COLOR 7, 0 lep5: GOSUB nevkiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras2 IF megvan = 1 THEN megvan = 0: RETURN i = felulrol megvan = 1 COLOR 0, 7: GOTO lep5 balra5: regibal = balrol balrol = balrol - 1 IF balrol = 0 THEN balrol = 10 COLOR 7, 0 i = felulrol: j = regibal lep6: GOSUB hokiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras2 IF megvan = 1 THEN megvan = 0: RETURN j = balrol megvan = 1 COLOR 0, 7: GOTO lep6 jobbra5: regibal = balrol balrol = balrol + 1 IF balrol = 11 THEN balrol = 1 COLOR 7, 0 i = felulrol: j = regibal lep7: GOSUB hokiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras2 IF megvan = 1 THEN megvan = 0: RETURN j = balrol megvan = 1 COLOR 0, 7: GOTO lep7 le5: regifelul = felulrol felulrol = felulrol + 1 IF felulrol = 17 THEN felulrol = 1 COLOR 7, 0 i = regifelul: j = balrol lep8: GOSUB nevkiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras2 IF megvan = 1 THEN megvan = 0: RETURN i = felulrol megvan = 1 COLOR 0, 7: GOTO lep8 atiras2: i = felulrol: j = balrol jegy(i, mitakarsz, j) = u COLOR 12, 7: GOSUB jegykiiras2 szin(i, j) = 12 FOR k = 1 TO 10 szam = jegy(i, mitakarsz, k) osszeg = osszeg + szam IF szam > 0 THEN szamlalo = szamlalo + 1 NEXT k COLOR 7, 0: GOSUB atlag1 osszeg = 0: szamlalo = 0 GOTO ff tablazat3: felulrol = 8: balrol = 6 COLOR 7, 0 CLS LOCATE 1, 30: PRINT ho$(mitakarsz) LOCATE 3, 18: PRINT "" FOR j = 1 TO 11 LOCATE 3, 4 * j + 14: PRINT "" GOSUB rovtargykiiras NEXT j LOCATE 3, 62: PRINT "" LOCATE 4, 18: PRINT teto$(2) FOR i = 1 TO 16 LOCATE i + 4, 1: PRINT nev$(i): LOCATE i + 4, 18: PRINT tabl$(2) NEXT i LOCATE 21, 18: PRINT teto$(2) LOCATE 22, 18: PRINT tabl$(2) LOCATE 23, 18: PRINT alja$(2) FOR j = 1 TO 11 FOR i = 1 TO 16 GOSUB jegykiiras3 szam = jegy(i, j, mitakarsz) IF szam > 0 THEN osszeg = osszeg + szam: szamlalo = szamlalo + 1 NEXT i IF szamlalo > 0 THEN GOSUB atlag3 osszeg = 0: szamlalo = 0 NEXT j GOTO szerkesztes3 atlag3: atlag = osszeg / szamlalo y = INT(10 * atlag) / 10 IF atlag - y <= .05 THEN atlag = y ELSE atlag = y + .1 s$ = STR$(atlag) atlag$ = RIGHT$(s$, LEN(s$) - 1) IF INT(atlag) = atlag THEN atlag$ = " " + atlag$ + " " LOCATE 22, 15 + 4 * j: PRINT atlag$ RETURN szerkesztes3: COLOR 0, 7 i = 8: j = 6 GOSUB jegykiiras3 GOSUB nevkiiras GOSUB rovtargykiiras gg: a$ = INKEY$ u = VAL(a$) IF u < 6 AND u > 0 AND u <> jegy(felulrol, balrol, mitakarsz) THEN GOTO atiras3 ON KEY(11) GOSUB fel6 ON KEY(12) GOSUB balra6 ON KEY(13) GOSUB jobbra6 ON KEY(14) GOSUB le6 IF a$ = CHR$(27) THEN COLOR 7, 0: GOTO ho GOTO gg fel6: regifelul = felulrol felulrol = felulrol - 1 IF felulrol = 0 THEN felulrol = 16 i = regifelul: j = balrol COLOR 7, 0 lep9: GOSUB nevkiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras3 IF megvan = 1 THEN megvan = 0: RETURN i = felulrol megvan = 1 COLOR 0, 7: GOTO lep9 balra6: regibal = balrol balrol = balrol - 1 IF balrol = 0 THEN balrol = 11 COLOR 7, 0 i = felulrol: j = regibal lep10: GOSUB rovtargykiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras3 IF megvan = 1 THEN megvan = 0: RETURN j = balrol megvan = 1 COLOR 0, 7: GOTO lep10 jobbra6: regibal = balrol balrol = balrol + 1 IF balrol = 12 THEN balrol = 1 COLOR 7, 0 i = felulrol: j = regibal lep11: GOSUB rovtargykiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras3 IF megvan = 1 THEN megvan = 0: RETURN j = balrol megvan = 1 COLOR 0, 7: GOTO lep11 le6: regifelul = felulrol felulrol = felulrol + 1 IF felulrol = 17 THEN felulrol = 1 COLOR 7, 0 i = regifelul: j = balrol lep12: GOSUB nevkiiras COLOR szin(i, j) - 7 * megvan, megvan * 7 GOSUB jegykiiras3 IF megvan = 1 THEN megvan = 0: RETURN i = felulrol megvan = 1 COLOR 0, 7: GOTO lep12 atiras3: i = felulrol: j = balrol jegy(i, j, mitakarsz) = u COLOR 12, 7: GOSUB jegykiiras3 szin(i, j) = 12 FOR k = 1 TO 16 szam = jegy(k, j, mitakarsz) osszeg = osszeg + szam IF szam > 0 THEN szamlalo = szamlalo + 1 NEXT k COLOR 7, 0: GOSUB atlag3 osszeg = 0: szamlalo = 0 GOTO gg jegykiiras1: LOCATE i + 4, 4 * j + 16: PRINT RIGHT$(STR$(jegy(mitakarsz, i, j)), 1) RETURN jegykiiras2: LOCATE i + 4, 4 * j + 16: PRINT RIGHT$(STR$(jegy(i, mitakarsz, j)), 1) RETURN jegykiiras3: LOCATE i + 4, 4 * j + 16: PRINT RIGHT$(STR$(jegy(i, j, mitakarsz)), 1) RETURN nevkiiras: LOCATE i + 4, 1: PRINT nev$(i) RETURN targykiiras: LOCATE i + 4, 1: PRINT targy$(i) RETURN rovtargykiiras: LOCATE 3, 15 + 4 * j: PRINT rovtargy$(j) RETURN hokiiras: LOCATE 3, 15 + 4 * j: PRINT LEFT$(ho$(j), 3) RETURN ir: OPEN "jegyek.dat" FOR OUTPUT AS #2 FOR i = 1 TO 16 FOR j = 1 TO 11 FOR k = 1 TO 10 WRITE #2, jegy(i, j, k) NEXT k NEXT j NEXT i CLOSE #2 FOR i = 11 TO 14 KEY(i) OFF NEXT i END