home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 34 / 64er_Magazin_Sonderheft_34_19xx_Markt__Technik_de_Disk_2_of_2_Side_A.d64 / noten (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  23KB  |  865 lines

  1. 0 poke53248+21,0
  2. 1 hf=6:rf=2:qf=7:poke53281,hf:poke53280,rf:poke646,qf:print"[147]";
  3. 2 open127,8,127:close127:ifst>=0then10
  4. 3 print"[147]laufwerk ein+[cr]"
  5. 4 getw$:ifw$<>chr$(13)then4
  6. 5 goto2
  7. 10 printchr$(9);chr$(142);chr$(8)
  8. 15 iff=0thenf=1:load"obj.markass.",8,1
  9. 16 dim w$(40),fa$(30),ve(30,2)
  10. 17 dim dt$(30),ar(30),no(30)
  11. 20 goto10000
  12. 30 rem ******************************
  13. 40 rem *** unterprogramme         ***
  14. 50 rem ******************************
  15. 60 rem ------------------------------
  16. 70 rem --- bildschirm loeschen    ---
  17. 80 rem ------------------------------
  18. 90 print"[147]";
  19. 100 print"[213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]";
  20. 110 print"[194]         >>> markassistant <<<        [194]";
  21. 120 print"[194]         [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]        [194]";
  22. 125 print"[194]      (c) 1986 von robert bielig      [194]";
  23. 130 print"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]";
  24. 150 fori=1to15
  25. 160 print"[194]                                      [194]";
  26. 170 nexti
  27. 180 print"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][178][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][178][195][195][195][179]";
  28. 190 print"[194]geladene daten [194]                  [194]   [194]";
  29. 200 print"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][219][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][177][195][195][195][179]";
  30. 210 print"[194]diskstatus     [194]                      [194]";
  31. 220 print"[202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][177][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]";
  32. 230 poke2023,75:return
  33. 240 rem -----------------------------
  34. 250 rem --- sprites on            ---
  35. 260 rem -----------------------------
  36. 270 vi=53248:poke2040,13:pokevi+21,3:pokevi+16,1:pokevi,47:pokevi+1,60
  37. 280 poke2041,13:pokevi+2,40:pokevi+3,60:pokevi+39,1:pokevi+40,1:return
  38. 290 rem -----------------------------
  39. 300 rem --- bildschirm loeschen   ---
  40. 310 rem -----------------------------
  41. 320 sys49155
  42. 330 sys49152,18,21:printleft$(ge$+lo$,16)
  43. 335 sys49152,36,21:print"   [157][157][157]";ge%;
  44. 340 sys49152,17,23:printd1;d2$;
  45. 350 return
  46. 360 rem -----------------------------
  47. 370 rem --- diskstatus            ---
  48. 380 rem -----------------------------
  49. 390 gosub920
  50. 420 open10,8,15:input#10,d1,d2$,d3,d4:close10
  51. 430 sys49152,17,23:printleft$(lo$,22);
  52. 435 sys49152,17,23:printd1;d2$;
  53. 440 return
  54. 450 rem -----------------------------
  55. 460 rem --- allroundmenue         ---
  56. 470 rem -----------------------------
  57. 480 gosub320:an=val(m$(y,x,0)):ob=13-an:re=0
  58. 490 sys49152,0,ob
  59. 500 fora=0toan-1
  60. 505 sys49152,(20-len(m$(y,x,a+1))/2),2*a+ob:printm$(y,x,a+1):next
  61. 510 sys49152,(20-len(m$(y,x,1))/2),ob:print"";m$(y,x,1);"[146]"
  62. 520 y1=1:y2=1
  63. 530 getw$
  64. 540 ifw$=" "orw$=""theny2=y2+1
  65. 550 ifw$="[145]"theny2=y2-1
  66. 555 ifw$="[137]"thenre=1:return
  67. 560 ifw$=chr$(13)orw$="[133]"thenreturn
  68. 570 ify2=y1then530
  69. 580 ify2>antheny2=1
  70. 590 ify2<1theny2=an
  71. 600 sys49152,(20-len(m$(y,x,y1))/2),y1*2+ob-2:printm$(y,x,y1)
  72. 610 sys49152,(20-len(m$(y,x,y2))/2),y2*2+ob-2:print""m$(y,x,y2)"[146]"
  73. 620 y1=y2:goto530
  74. 630 rem -----------------------------
  75. 640 rem --- input routine         ---
  76. 650 rem -----------------------------
  77. 660 gosub830
  78. 665 f2=0:fori=1toaz
  79. 670 ss=1024+40*ze+sp
  80. 680 pokess,peek(ss)or128:sys49152,sp,ze
  81. 690 getw$(i):ifw$(i)=""then690
  82. 700 a=asc(w$(i))
  83. 710 ifa=157ora=29ora=145ora=17ora=147ora=19ora=148then690
  84. 715 ifa>132anda<141then690
  85. 720 ifw$(i)=chr$(20)andi>1thenw$(i)="[157]  [157][157]":sp=sp-2:f2=-2:goto750
  86. 730 ifw$(i)=chr$(20)then690
  87. 740 ifw$(i)=chr$(13)thenprint" ";:goto770
  88. 750 printw$(i);:sp=sp+1:i=i+f2:f2=0
  89. 760 nexti
  90. 770 ee$="":fora=1toi-1:ee$=ee$+w$(a):next
  91. 780 ifee$=chr$(13)thenee$=""
  92. 790 return
  93. 800 rem ----------------------------
  94. 810 rem --- eingabekasten        ---
  95. 820 rem ----------------------------
  96. 830 sys49152,sp-1,ze-1
  97. 840 a$="":fori=0toaz:a$=a$+"[195]":nexti
  98. 850 sys49152,sp-1,ze-1:print"[176]";a$;"[174]"
  99. 860 sys49152,sp-1,ze:print"[194]";
  100. 865 sys49152,sp+az+1,ze:print"[194]";
  101. 870 sys49152,sp-1,ze+1:print"[173]";a$;"[189]"
  102. 880 return
  103. 890 rem -----------------------------
  104. 900 rem --- floppy an ?           ---
  105. 910 rem -----------------------------
  106. 920 f1=0
  107. 930 open127,8,127:close127
  108. 940 ifst>=0thenreturn
  109. 950 iff1=0thenf1=1:sys49152,18,23:print"laufwerk ein + [cr]"
  110. 960 iff1=1thenf1=0:sys49152,18,23:print"laufwerk ein + [cr][146]"
  111. 970 getw$:ifw$<>chr$(13)then950
  112. 975 sys49152,17,23:printleft$(lo$,22)
  113. 980 goto920
  114. 990 rem  ----------------------------
  115. 1000 rem --- recordzeiger posit.  ---
  116. 1010 rem ----------------------------
  117. 1020 h=int(rn/256):l=rn-h*256
  118. 1030 print#15,"p"+chr$(5)+chr$(l)+chr$(h)+chr$(0)
  119. 1040 return
  120. 1050 rem ----------------------------
  121. 1060 rem --- fach bestimmen+laden ---
  122. 1070 rem ----------------------------
  123. 1080 f=0:for i=0 to az% step 5
  124. 1090 gosub320:za=2
  125. 1095 sys49152,3,6:print"0 ...seite weiter"
  126. 1097 sys49152,3,8:print"1 ...seite zurueck"
  127. 1100 for a=i to i+4
  128. 1110 sys49152,2,6+2*za
  129. 1115 iffa$(a)=""thenf=1:goto1140
  130. 1120 printza;"...";fa$(a):za=za+1
  131. 1130 nexta
  132. 1135 iffa$(a)=""thenf=1
  133. 1140 getw$:ifval(w$)<=(a-i+1)andval(w$)>1then1160
  134. 1145 ifval(w$)=1andi>0theni=i-5:f=0:goto1090
  135. 1150 ifw$="0"andf=0thennexti
  136. 1157 goto1140
  137. 1160 fa%=i+val(w$)-2
  138. 1170 gosub1460
  139. 1300 ify=3then10670
  140. 1310 ify=2then10610
  141. 1320 rem ----------------------------
  142. 1330 rem --- warten auf leer      ---
  143. 1340 rem ----------------------------
  144. 1350 poke1024+22*40+16,113
  145. 1360 poke1024+24*40+16,67
  146. 1365 l$(1)="       bitte leertaste druecken       "
  147. 1366 l$(2)=""+l$(1)+"[146]"
  148. 1370 fori=1to2
  149. 1380 getw$:ifw$=" "thenreturn
  150. 1390 sys49152,1,23:printl$(i);
  151. 1400 forw=1to250:next
  152. 1410 next
  153. 1420 goto1370
  154. 1430 rem ----------------------------
  155. 1440 rem --- fachnoten laden      ---
  156. 1450 rem ----------------------------
  157. 1460 ge%=0:ge$=fa$(fa%)
  158. 1470 gosub320:gosub920
  159. 1480 a$="noten werden geladen[146]"
  160. 1490 sys49152,20-(len(a$)/2),11:printa$
  161. 1500 gosub920:open5,8,5,"not."+da$+",l,"+chr$(13)
  162. 1510 open15,8,15
  163. 1520 rn=(fa%*30)+1:ge%=0:ge$=fa$(fa%)
  164. 1521 ifpeek(vi+21)thengosub2250
  165. 1530 gosub1020
  166. 1540 input#5,a$
  167. 1550 ifasc(a$)=255orasc(a$)=222then1590
  168. 1560 dt$(ge%+1)=left$(a$,10):ar(ge%+1)=asc(mid$(a$,11,1))
  169. 1570 no(ge%+1)=asc(mid$(a$,12,1))
  170. 1580 ge%=ge%+1:ifge%<30thengoto1540
  171. 1590 g1%=ge%:ifcl=0thenclose5:close15
  172. 1595 ifcl=0thengosub390
  173. 1597 ifzn=1thenreturn
  174. 1600 gosub2310:return
  175. 1610 rem ---------------------------
  176. 1620 rem --- durchschnitt berech ---
  177. 1630 rem ---------------------------
  178. 1640 s(1)=0:s(2)=0:s(3)=0
  179. 1645 z(1)=0:z(2)=0:z(3)=0
  180. 1647 ifge%=0thenmd=0:ed=0:sd=0:dd=0:return
  181. 1650 for i=1 to ge%
  182. 1660 s(ar(i))=s(ar(i))+no(i)
  183. 1670 z(ar(i))=z(ar(i))+1
  184. 1680 nexti
  185. 1690 md=s(1)/(z(1)-(z(1)=0))
  186. 1700 ed=s(2)/(z(2)-(z(2)=0))
  187. 1710 sd=s(3)/(z(3)-(z(3)=0))
  188. 1720 n=ve(fa%,0)*abs(z(1)>0)+ve(fa%,1)*abs(z(2)>0)+ve(fa%,2)*abs(z(3)>0)
  189. 1730 z=ve(fa%,0)*md+ve(fa%,1)*ed+ve(fa%,2)*sd
  190. 1740 dd=z/n
  191. 1750 return
  192. 1760 rem ---------------------------
  193. 1770 rem --- zahl format         ---
  194. 1780 rem ---------------------------
  195. 1790 zf=int(zf*100+.5)/100
  196. 1800 fo$=str$(zf)
  197. 1810 fo$=mid$(fo$,2,5)
  198. 1820 e=len(fo$)
  199. 1825 ifval(fo$)=0thenfo$="-.--":return
  200. 1830 ife=1thenfo$=fo$+".00":return
  201. 1840 ife=3thenfo$=fo$+"0":return
  202. 1850 return
  203. 1860 rem ----------------------------
  204. 1870 rem --- ausgabe bestimmen    ---
  205. 1880 rem ----------------------------
  206. 1890 y=4:x=1:gosub480
  207. 1900 ifrethenreturn
  208. 1910 ify1=1thenreturn
  209. 1920 y=4:x=2:gosub480
  210. 1930 ifrethen1890
  211. 1935 fl=y1-1
  212. 1940 return
  213. 1950 rem ----------------------------
  214. 1960 rem --- drucker warteausg.   ---
  215. 1970 rem ----------------------------
  216. 1980 gosub320:sp=2:ze=11:az=35:gosub830
  217. 1990 sys49152,2,11:print"          ";f$;" arbeitet          [146]"
  218. 1991 iff$="drucker"orf$="flo+dru"thengosub2450
  219. 1992 return
  220. 2000 rem ----------------------------
  221. 2010 rem --- strichliste fuer fach---
  222. 2020 rem ----------------------------
  223. 2030 fora=1to6:z(a)=0:next:return
  224. 2040 ifge%=0thenreturn
  225. 2045 fora=1toge%:z(no(a))=z(no(a))+1:next
  226. 2050 return
  227. 2060 rem ----------------------------
  228. 2070 rem --- strichliste zahl-graf---
  229. 2080 rem ----------------------------
  230. 2090 fo$="":a$="[219][219][219][219] ":ifzf/5>=1thenforf=1toint(zf/5):fo$=fo$+a$:next
  231. 2100 r=zf-5*int(zf/5)
  232. 2105 ifr=0thenreturn
  233. 2110 a$="[194]":forf=1tor:fo$=fo$+a$:next
  234. 2120 return
  235. 2130 rem ----------------------------
  236. 2140 rem --- 3d - saeule          ---
  237. 2150 rem ----------------------------
  238. 2160 sys49152,sp,22:printl$;"[206] "
  239. 2170 fori=1to(zf*3)-1
  240. 2180 sys49152,sp,22-i:printl$;" [165]";
  241. 2190 nexti
  242. 2200 sys49152,sp,22-i:printo$
  243. 2205 sys49152,sp+1,22-i-1:printd$
  244. 2210 return
  245. 2220 rem ----------------------------
  246. 2230 rem --- sprites off+disk     ---
  247. 2240 rem ----------------------------
  248. 2250 pokevi+21,0:sys49152,2,2:print"disk"
  249. 2260 sys49152,34,2:print"disk[158]"
  250. 2270 return
  251. 2280 rem ----------------------------
  252. 2290 rem --- sprites on +clear    ---
  253. 2300 rem ----------------------------
  254. 2310 sys49152,2,2:print"    "
  255. 2320 sys49152,34,2:print"    "
  256. 2330 pokevi+21,3:return
  257. 2340 rem ----------------------------
  258. 2350 rem --- ueberschrift drucken ---
  259. 2360 rem ----------------------------
  260. 2370 open1,4:print#1,chr$(13)chr$(14)
  261. 2380 print#1,"[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]";
  262. 2390 print#1,tab(20-len(f$)/2)f$
  263. 2400 print#1,"[198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198]";
  264. 2410 print#1:close1:return
  265. 2420 rem -----------------------------
  266. 2430 rem --- drucker an ?          ---
  267. 2440 rem -----------------------------
  268. 2450 f1=0
  269. 2460 open127,4,127:close127
  270. 2470 ifst>=0thenreturn
  271. 2480 iff1=0thenf1=1:sys49152,18,23:print"drucker  ein + [cr]"
  272. 2490 iff1=1thenf1=0:sys49152,18,23:print"drucker  ein + [cr][146]"
  273. 2500 getw$:ifw$<>chr$(13)then2480
  274. 2510 sys49152,17,23:printleft$(lo$,22)
  275. 2520 goto2450
  276. 10000 rem ***************************
  277. 10010 rem *** initialisieren      ***
  278. 10020 rem ***************************
  279. 10030 gosub270:gosub90:sys49161
  280. 10050 ge$="keine":ge%=0
  281. 10060 lo$=chr$(160)
  282. 10070 fori=0to5:lo$=lo$+lo$:next
  283. 10080 gosub390
  284. 10090 gosub320
  285. 10100 for au=0 to 8
  286. 10110 a$(au,0)=chr$(8):a$(au,1)=chr$(8)
  287. 10120 for in=0 to 5
  288. 10130 d$=chr$(128+peek(49233+in+au*6))
  289. 10140 a$(au,0)=a$(au,0)+d$
  290. 10150 a$(au,1)=a$(au,1)+d$+d$
  291. 10160 next in
  292. 10165 a$(au,0)=a$(au,0)+chr$(15)
  293. 10167 a$(au,1)=a$(au,1)+chr$(14)
  294. 10170 next au
  295. 10180 cr$(0)=chr$(8)+chr$(13)+chr$(15)
  296. 10185 cr$(1)=chr$(8)+chr$(13)+chr$(14)
  297. 10190 ar$(1)="mue ":ar$(2)="ext ":ar$(3)="scha"
  298. 10200 rem ***************************
  299. 10210 rem *** menuestrings        ***
  300. 10220 rem ***************************
  301. 10260 :
  302. 10270 m$(1,1,0)=str$(2)
  303. 10280 m$(1,1,1)="notendatei bearbeiten"
  304. 10290 m$(1,1,2)="notendatei auswerten."
  305. 10300 :
  306. 10310 m$(2,1,0)=str$(5)
  307. 10320 m$(2,1,1)="fach bestimmen/laden"
  308. 10330 m$(2,1,3)="noten eingeben......"
  309. 10340 m$(2,1,4)="noten aendern......."
  310. 10350 m$(2,1,2)="noten speichern....."
  311. 10355 m$(2,1,5)="auswerten..........."
  312. 10360 :
  313. 10370 m$(2,2,0)=str$(2)
  314. 10380 m$(2,2,1)="spezielles fach"
  315. 10390 m$(2,2,2)="alle faecher..."
  316. 10400 :
  317. 10410 m$(3,1,0)=str$(6)
  318. 10420 m$(3,1,1)="fach bestimmen/laden"
  319. 10430 m$(3,1,5)="strichliste........."
  320. 10440 m$(3,1,2)="saeulenstatistik...."
  321. 10450 m$(3,1,3)="durchschnitt........"
  322. 10455 m$(3,1,4)="notentabelle........"
  323. 10457 m$(3,1,6)="bearbeiten.........."
  324. 10460 :
  325. 10470 m$(3,2,0)=str$(4)
  326. 10480 m$(3,2,3)="strichliste....."
  327. 10500 m$(3,2,1)="durchschnitt...."
  328. 10510 m$(3,2,2)="notentabelle...."
  329. 10520 m$(3,2,4)="zeugnis........."
  330. 10521 :
  331. 10522 m$(4,1,0)=str$(2)
  332. 10523 m$(4,1,1)="ausgabe auf bildschirm"
  333. 10524 m$(4,1,2)="ausgabe auf drucker..."
  334. 10525 :
  335. 10526 m$(4,2,0)=str$(2)
  336. 10527 m$(4,2,1)="normalschrift"
  337. 10528 m$(4,2,2)="sperrschrift."
  338. 10530 :
  339. 10531 m$(4,3,0)=str$(2)
  340. 10532 m$(4,3,1)="notenstatistik"
  341. 10533 m$(4,3,2)="leistungsstat."
  342. 10534 :
  343. 10535 m$(4,4,0)=str$(3)
  344. 10536 m$(4,4,1)="unterscheidung durch farbe"
  345. 10537 m$(4,4,2)="unterscheidung durch form."
  346. 10538 m$(4,4,3)="keine unterscheidung......"
  347. 10539 :
  348. 10540 m$(4,5,0)=str$(3)
  349. 10541 m$(4,5,1)="falscheingabe"
  350. 10542 m$(4,5,2)="neustart....."
  351. 10543 m$(4,5,3)="ende........."
  352. 10549 rem ***************************
  353. 10550 rem *** menuebaum           ***
  354. 10560 rem ***************************
  355. 10570 goto10730
  356. 10571 :y=4:x=5:gosub480
  357. 10572 ify1=2thenrun
  358. 10573 ify1=1then10590
  359. 10574 gosub320:gosub2250:print"[147]neustart mit run!":end
  360. 10590 :y=1:x=1:gosub480
  361. 10595 ifrethen10571
  362. 10600 ony1goto10610,10640
  363. 10610 :y=2:x=1:gosub480
  364. 10620 ifrethen10590
  365. 10630 ony1goto1080,11940,11580,12090,10670
  366. 10640 :y=2:x=2:gosub480
  367. 10650 ifrethen10590
  368. 10660 ony1goto10670,10690
  369. 10670 :y=3:x=1:gosub480
  370. 10675 ifrethen10640
  371. 10680 ony1goto1080,13390,12820,13900,12870,10610
  372. 10690 :y=3:x=2:gosub480
  373. 10700 ifrethen10640
  374. 10710 ony1goto12820,13940,12940,13990
  375. 10720 end
  376. 10730 rem ***************************
  377. 10740 rem *** dateiabfrage        ***
  378. 10750 rem ***************************
  379. 10760 gosub320
  380. 10770 sp=12:ze=12:az=12
  381. 10780 sys49152,09,10:print"dateiname (klasse):"
  382. 10790 gosub660
  383. 10800 gosub920:da$=ee$:gosub2250
  384. 10810 open5,8,5,"dat."+da$+",s,r":close5
  385. 10820 gosub390
  386. 10830 ifd1=0then11480
  387. 10840 ifd1=62then10860
  388. 10850 gosub2310:goto10760
  389. 10860 gosub320:gosub2310
  390. 10870 sys49152,2,7
  391. 10880 print"datei mit dem namen ";da$
  392. 10890 printtab(2)"besteht nicht!"
  393. 10900 sys49152,2,10:print"1....neu anlegen"
  394. 10910 sys49152,2,12:print"2....neueingabe"
  395. 10920 getw$:ifw$="1"then10960
  396. 10930 ifw$<>"2"then10920
  397. 10950 goto10760
  398. 10960 :
  399. 10970 :
  400. 10980 data"name des schuelers :","name der schule :"
  401. 10990 data"schulort :","schuljahr (jj/jj)"
  402. 11000 restore:forza=0to3:gosub320
  403. 11010 sys49152,2,6
  404. 11020 read a$:printa$
  405. 11030 ze=8:sp=3:az=30
  406. 11040 ifza=3thenaz=5
  407. 11050 gosub660:ei$(za)=ee$
  408. 11060 nextza:za=-1
  409. 11070 gosub320:za=za+1
  410. 11080 sys49152,2,6
  411. 11090 print"fachname (cr=ende):"
  412. 11100 ze=8:sp=3:az=16
  413. 11110 gosub660:ifee$=""thenza=za-1:goto11260
  414. 11115 fa$(za)=ee$
  415. 11120 gosub320
  416. 11130 sys49152,2,6
  417. 11140 print"verhaeltnis (mue:ex:scha)"
  418. 11150 ze=8:sp=3:az=5
  419. 11160 gosub830
  420. 11170 sys49152,4,8:print":";
  421. 11180 sys49152,6,8:print":";
  422. 11190 ze=8:sp=3:az=1
  423. 11200 gosub665:ve(za,0)=val(ee$)
  424. 11210 ze=8:sp=5:az=1
  425. 11220 gosub665:ve(za,1)=val(ee$)
  426. 11230 ze=8:sp=7:az=1
  427. 11240 gosub665:ve(za,2)=val(ee$)
  428. 11250 goto11070
  429. 11260 :
  430. 11270 :
  431. 11280 gosub390:gosub320:gosub2250
  432. 11290 sys49152,0,12
  433. 11300 a$="daten werden gespeichert[146]"
  434. 11310 printtab(20-len(a$)/2)a$
  435. 11320 open5,8,5,"dat."+da$+",s,w"
  436. 11330 fori=0to3:print#5,ei$(i):next
  437. 11335 az%=za:print#5,az%
  438. 11340 fori=0toaz%:print#5,fa$(i)
  439. 11342 forv=0to2:print#5,ve(i,v):next
  440. 11345 nexti
  441. 11350 close5
  442. 11360 gosub390:gosub320:gosub2250
  443. 11370 sys49152,0,12
  444. 11380 a$="notendatei wird angelegt[146]"
  445. 11390 printtab(20-len(a$)/2)a$
  446. 11400 open5,8,5,"not."+da$+",l,"+chr$(13)
  447. 11410 open15,8,15
  448. 11420 rn=30*(az%+1)+1
  449. 11430 gosub1020
  450. 11440 print#5,chr$(255)
  451. 11450 close5:close15
  452. 11460 gosub2310:gosub390:goto10590
  453. 11470 :
  454. 11480 gosub320:gosub2250
  455. 11481 sys49152,0,12
  456. 11482 a$="daten werden geladen[146]"
  457. 11483 printtab(20-len(a$)/2)a$
  458. 11490 open5,8,5,"dat."+da$+",s,r"
  459. 11500 fori=0to3:input#5,ei$(i):next
  460. 11510 input#5,az%
  461. 11520 fori=0toaz%:input#5,fa$(i)
  462. 11530 forv=0to2:input#5,ve(i,v):next
  463. 11540 next i
  464. 11550 close5
  465. 11560 gosub390:gosub320:gosub2310
  466. 11570 goto10590
  467. 11580 rem ***************************
  468. 11590 rem *** noten eingeben      ***
  469. 11600 rem ***************************
  470. 11605 ifge$="keine"orge%+1>30then10610
  471. 11610 gosub11900
  472. 11640 ifge%=0then11710
  473. 11650 fora=1toge%
  474. 11655 x=1-abs(a>9)
  475. 11660 sys49152,3,2*b+7:printa;spc(x);"[157][194]";dt$(a);"[194]";ar$(ar(a));"[194]";no(a)
  476. 11665 sys49152,4,2*b+8:print"[195][195][219][195][195][195][195][195][195][195][195][195][195][219][195][195][195][195][219][195][195][195][195]"
  477. 11670 ifa/6<>int(a/6)ora=0then11700
  478. 11680 print:gosub1350
  479. 11690 gosub11900:nexta:goto11710
  480. 11700 b=b+1:nexta
  481. 11710 a=ge%+1
  482. 11720 forge=ato30:yy=2*b+7:ge%=ge
  483. 11721 sys49152,3,yy:printge%;spc(1-abs(ge%>9));"[157][194]ende ='f2'";
  484. 11722 getw$:ifw$=""then11721
  485. 11723 ifw$="[137]"thenge%=ge%-1:goto11880
  486. 11724 poke631,asc(w$):poke198,1
  487. 11730 sys49152,3,yy:printge%;spc(1-abs(ge%>9));"[157][194]";left$(lo$,20)
  488. 11740 az=10:sp=7:ze=yy:gosub665:dt$(ge%)=left$(ee$+lo$,10)
  489. 11750 sys49152,17,yy:print"[194]m[146]ue e[146]xt s[146]cha ?";
  490. 11760 xx=0:getw$
  491. 11761 ifw$="m"thenxx=1
  492. 11762 ifw$="e"thenxx=2
  493. 11763 ifw$="s"thenxx=3
  494. 11764 ifxx=0then11760
  495. 11768 ifve(fa%,xx-1)=0then11760
  496. 11770 sys49152,17,yy:print"[194]";ar$(xx);"[194]";left$(lo$,15)
  497. 11780 ar(ge%)=xx
  498. 11790 az=1:sp=23:ze=yy:gosub665:no(ge%)=val(ee$)
  499. 11800 ifval(ee$)>6orval(ee$)<1then11790
  500. 11840 sys49152,4,yy+1:print"[195][195][219][195][195][195][195][195][195][195][195][195][195][219][195][195][195][195][219][195][195][195][195]"
  501. 11850 ifge%/6<>int(ge%/6)then11870
  502. 11860 print:gosub1350:gosub11900:nextge:goto11880
  503. 11870 b=b+1:nextge
  504. 11880 gosub320:sys49152,1,12:print"noten speichern [j[146]/n[146]]"
  505. 11890 getw$:ifw$="j"then11940
  506. 11895 ifw$<>"n"then11890
  507. 11897 goto10610
  508. 11900 gosub320:b=0
  509. 11910 sys49152,4,5:print"nr[194]datum     [194]art [194]note"
  510. 11920 sys49152,4,6:print"[195][195][219][195][195][195][195][195][195][195][195][195][195][219][195][195][195][195][219][195][195][195][195]"
  511. 11930 return
  512. 11940 rem ****************************
  513. 11950 rem *** noten speichern      ***
  514. 11960 rem ****************************
  515. 11970 ifge$="keine"then10610
  516. 11980 ifge%-g1%=0then10610
  517. 11982 gosub320:a$="noten werden gespeichert[146]":gosub920:gosub2250
  518. 11990 sys49152,20-(len(a$)/2),11:printa$
  519. 12000 open5,8,5,"not."+da$+",l,"+chr$(13)
  520. 12010 open15,8,15
  521. 12020 rn=(fa%*30)+g1%+1:gosub1020
  522. 12030 for a=g1%+1 to ge%
  523. 12040 a$=dt$(a)+chr$(ar(a))+chr$(no(a))
  524. 12050 print#5,a$
  525. 12060 nexta
  526. 12070 close5:close15
  527. 12080 gosub2310:gosub390:goto10610
  528. 12090 rem ****************************
  529. 12100 rem *** noten aendern        ***
  530. 12110 rem ****************************
  531. 12120 ifge$="keine"then10610
  532. 12130 gosub11900
  533. 12140 ifge%=0then10610
  534. 12150 fora=1toge%
  535. 12160 x=1-abs(a>9)
  536. 12170 sys49152,3,2*b+7:printa;spc(x);"[157][194]";dt$(a);"[194]";ar$(ar(a));"[194]";no(a)
  537. 12180 sys49152,4,2*b+8:print"[195][195][219][195][195][195][195][195][195][195][195][195][195][219][195][195][195][195][219][195][195][195][195]"
  538. 12190 ifa/6=int(a/6)then12210
  539. 12200 b=b+1:nexta
  540. 12210 sys49152,4,19:print":zahl - w[146]eiter - e[146]nde:"
  541. 12230 sa=a:az=2:sp=26:ze=19:gosub665:a=sa:w$=ee$
  542. 12240 ifw$="w"anda<ge%thengosub11900:nexta
  543. 12250 ifw$="e"then10610
  544. 12251 e=val(w$)
  545. 12252 if e<1 or e>ge% then12230
  546. 12253 if e<=a-6 then 12230
  547. 12254 if a=ge%+1 and e>ge% then12230
  548. 12270 ifval(w$)=athenyy=17:ae=a:goto12280
  549. 12275 yy=2*(val(w$)-6*int(val(w$)/6)-1)+7:ae=val(w$)
  550. 12280 sys49152,4,yy:printleft$(lo$,25)
  551. 12290 sys49152,3,yy:printae;spc(1-abs(ae>9));"[157][194]";
  552. 12300 az=10:sp=7:ze=yy:gosub665:dt$(ae)=left$(ee$+lo$,10)
  553. 12310 sys49152,17,yy:print"[194]m[146]ue e[146]xt s[146]cha ?";
  554. 12320 xx=0:getw$
  555. 12330 ifw$="m"thenxx=1
  556. 12340 ifw$="e"thenxx=2
  557. 12350 ifw$="s"thenxx=3
  558. 12360 ifxx=0then12320
  559. 12370 ifve(fa%,xx-1)=0then12320
  560. 12380 sys49152,17,yy:print"[194]";ar$(xx);"[194]";left$(lo$,15)
  561. 12390 ar(ae)=xx
  562. 12400 az=1:sp=23:ze=yy:gosub665:no(ae)=val(ee$)
  563. 12410 ifval(ee$)>6orval(ee$)<1then12400
  564. 12415 gosub320:sys49152,1,12:print"noten speichern [j[146]/n[146]]"
  565. 12416 getw$:ifw$="j"then12420
  566. 12417 ifw$<>"n"then12416
  567. 12418 goto10610
  568. 12420 gosub2250:gosub920:open5,8,5,"not."+da$+",l,"+chr$(13)
  569. 12430 open15,8,15
  570. 12440 rn=(fa%*30)+ae:gosub1020
  571. 12450 a$=dt$(ae)+chr$(ar(ae))+chr$(no(ae))
  572. 12460 print#5,a$
  573. 12470 close5:close15
  574. 12480 gosub2310:goto10610
  575. 12490 rem ****************************
  576. 12500 rem *** durchschnitt ausg.   ***
  577. 12510 rem ****************************
  578. 12515 gosub1890:gs=0
  579. 12516 ifrethenreturn
  580. 12518 ifx=2then12640
  581. 12519 for wi=0 to du
  582. 12530 ifwi=0thenb=0:gosub12625:goto12550
  583. 12540 ifwi/6=int(wi/6)thenb=0:gosub1350:gosub12625
  584. 12550 sys49152,1,2*b+6:print"[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][219][195][195][195][195][219][195][195][195][195][219][195][195][195][195][219][195][195][195][195]"
  585. 12555 ifalthenfa%=wi:gosub1520
  586. 12560 gosub1640:gs=gs+dd
  587. 12570 sys49152,1,2*b+7:printfa$(fa%)
  588. 12575 sys49152,17,2*b+7:print"[194]";
  589. 12580 zf=md:gosub1790:printfo$;"[194]";
  590. 12590 zf=ed:gosub1790:printfo$;"[194]";
  591. 12600 zf=sd:gosub1790:printfo$;"[194]";
  592. 12610 zf=dd:gosub1790:printfo$
  593. 12621 b=b+1:nextwi:return
  594. 12625 gosub320:sys49152,1,5:print"fachname        [194]mue [194]ext [194]scha[194]ges":return
  595. 12630 :
  596. 12640 :
  597. 12650 gosub1980
  598. 12655 f$="d u r c h s c h n i t t":gosub2370
  599. 12680 open1,4,0
  600. 12690 print#1,cr$(fl);"fachname        [194]mue [194]ext [194]scha[194][194]ges";cr$(fl);
  601. 12700 w$="[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]"
  602. 12710 fori=0to2:w$=w$+a$(8,fl)+"[195][195][195][195]":next
  603. 12712 w$=w$+a$(8,fl)+a$(8,fl)+"[195][195][195][195]"
  604. 12715 for wi=0 to du
  605. 12717 ifalthenfa%=wi:gosub1520:gosub330
  606. 12720 print#1,w$;cr$(fl);:gosub1640:gs=gs+dd
  607. 12730 print#1,left$(fa$(fa%)+lo$,16);"[194]";
  608. 12740 zf=md:gosub1790:print#1,fo$;"[194]";
  609. 12750 zf=ed:gosub1790:print#1,fo$;"[194]";
  610. 12760 zf=sd:gosub1790:print#1,fo$;"[194][194]";
  611. 12770 zf=dd:gosub1790:print#1,fo$;cr$(fl);
  612. 12780 nextwi
  613. 12781 ifalthen print#1:print#1,"ges.durchschnitt :";int(gs/(az%+1)*100+.5)/100
  614. 12782 print#1:close1:return
  615. 12790 rem ***************************
  616. 12800 rem *** durchschnitt unters.***
  617. 12810 rem ***************************
  618. 12820 ifx=1andge$="keine"then10670
  619. 12821 ifx=2then12827
  620. 12825 ifx=1thenf$="drucker":du=0:al=0:gosub12500:ifre=0thengosub1350
  621. 12826 goto10670
  622. 12827 gosub920:open5,8,5,"not."+da$+",l,"+chr$(13)
  623. 12828 open15,8,15:cl=1
  624. 12830 f$="flo+dru":du=az%:al=1:gosub12500
  625. 12831 ifrethen12850
  626. 12835 ifx=2then12850
  627. 12840 sys49152,1,19:print"ges.durchschnitt :";int(gs/(az%+1)*100+.5)/100
  628. 12845 gosub1350
  629. 12850 cl=0:close5:close15:goto10690
  630. 12860 rem ***************************
  631. 12870 rem *** strich. anl. einz   ***
  632. 12880 rem ***************************
  633. 12890 ifge$="keine"then10670
  634. 12895 gosub1890:ifrethen10670
  635. 12900 gosub2030:gosub2040
  636. 12905 fa$=fa$(fa%)
  637. 12910 ifx=1thengosub13060:goto10670
  638. 12920 gosub13180:goto10670
  639. 12930 rem ***************************
  640. 12940 rem *** strich. anl. allg   ***
  641. 12950 rem ***************************
  642. 12960 gosub1890:ifrethen10690
  643. 12965 f$="floppy ":gosub1980
  644. 12970 gosub2030
  645. 12980 gosub920:open5,8,5,"not."+da$+",l,"+chr$(13)
  646. 12990 open15,8,15:cl=1
  647. 13010 forq=0toaz%:fa%=q:gosub1520:gosub2040
  648. 13015 gosub330:nextq
  649. 13020 cl=0:close5:close15
  650. 13025 fa$="alle faecher"
  651. 13030 ifx=1thengosub13060:goto10690
  652. 13040 gosub13180:goto10690
  653. 13050 rem ****************************
  654. 13060 rem *** strichliste bildsch  ***
  655. 13070 rem ****************************
  656. 13080 gosub320
  657. 13090 sys49152,1,5:print"  [194]   5[194]  10[194]  15[194]  20[194]  25[194]  30[194]  35[194]"
  658. 13100 sys49152,1,6:print"[195][195][219][195][195][195][195][177][195][195][195][195][177][195][195][195][195][177][195][195][195][195][177][195][195][195][195][177][195][195][195][195][177][195][195][195][195][177]"
  659. 13110 fori=1to6
  660. 13120 sys49152,1,2*i+5:printi;"[157][194]";
  661. 13125 ifz(i)>35thenfo$=str$(z(i)):goto13140
  662. 13130 zf=z(i):gosub2090
  663. 13140 printfo$
  664. 13145 sys49152,1,2*i+6:print"[195][195][219][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]"
  665. 13150 nexti
  666. 13160 gosub1350:return
  667. 13170 rem ****************************
  668. 13180 rem *** strichliste drucker  ***
  669. 13190 rem ****************************
  670. 13200 f$="drucker":gosub1980
  671. 13205 f$="strichliste fuer "+fa$:gosub2370
  672. 13210 ze=(1-fl)*40+40
  673. 13220 open1,4,0
  674. 13230 a$="   [194]":b$="[195][195][195]"+a$(8,fl):c$="[195][195][195]"+a$(8,fl)
  675. 13240 fori=1toint(ze/5)-1
  676. 13250 a$=a$+"  "+right$(str$(i*5),2)+"[194]"
  677. 13260 b$=b$+"[195][195][195][195]"+a$(6,fl):c$=c$+"[195][195][195][195][195]"
  678. 13270 nexti:print#1,chr$(15-fl)
  679. 13280 print#1,a$;cr$(fl);
  680. 13290 print#1,b$;cr$(fl);
  681. 13300 for i=1 to 6
  682. 13310 print#1,i;"[194]";
  683. 13320 ifz(i)>ze-5thenfo$=str$(z(i)):goto13340
  684. 13330 zf=z(i):gosub2090
  685. 13340 print#1,fo$;cr$(fl);
  686. 13350 print#1,c$;cr$(fl);
  687. 13360 nexti:print#1:close1
  688. 13370 gosub1350:return
  689. 13380 rem ***************************
  690. 13390 rem *** saeulenstat.        ***
  691. 13400 rem ***************************
  692. 13410 ifge%=0then10670
  693. 13420 gosub15900:ifrethen10670
  694. 13430 print"[147]";:poke53281,0:poke53280,0:poke646,5:poke53248+21,0
  695. 13435 ifx=2thengosub2450
  696. 13440 az=19+len(fa$(fa%)):sp=20-((19+len(fa$(fa%)))/2):ze=1:gosub830
  697. 13450 sys49152,sp,ze:print"notendiagramm fuer ";fa$(fa%)
  698. 13460 fori=1to6
  699. 13470 sys49152,0,3*i+2:print7-abs(i-s1);"[157][171]"
  700. 13480 sys49152,2,3*i+3:print"[194]"
  701. 13490 sys49152,2,3*i+4:print"[194]"
  702. 13500 nexti
  703. 13510 print"[195][195][219][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]"
  704. 13520 print"  [194]";
  705. 13521 ei=int(35/ge%)
  706. 13522 ifs2=1ors2=3thenl$="":fori=1toei:l$=l$+" ":next:l$=l$+"[146]"
  707. 13523 ifs2=2thenl$(1)="":fori=1toei:l$(1)=l$(1)+"[219]":next
  708. 13524 ifs2=2thenl$(2)="":fori=1toei:l$(2)=l$(2)+"[172]":next:l$(2)=l$(2)+"[146]"
  709. 13525 ifs2=2thenl$(3)="":fori=1toei:l$(3)=l$(3)+"[194]":next:l$(3)=l$(3)+"[146]"
  710. 13527 o$="[206]":ifei>1thenfori=1toei-1:o$=o$+" ":next
  711. 13528 ifx=1thend$="":fori=1toei:d$=d$+"[175]":next
  712. 13529 ifx=2thend$="":fori=1toei:d$=d$+"[164]":next
  713. 13530 o$=o$+"[206][165]":sp=3
  714. 13531 for au=1 to ge%:print"[156]";
  715. 13560 ifs2=1thenifar(au)=1thenprint"[159]";
  716. 13570 ifs2=1thenifar(au)=2thenprint"[156]";
  717. 13580 ifs2=1thenifar(au)=3thenprint"";
  718. 13585 ifs2=2thenl$=l$(ar(au))
  719. 13590 zf=abs(s1-no(au)):gosub2160
  720. 13591 ifau<>1andei>1andzf<abs(s1-no(au-1))thensys49152,sp+1,21-zf*3:print"[204]"
  721. 13592 ifau=1orei<>1or(zf>=abs(s1-no(au-1))orzf<abs(s1-no(au+1+(au=30))))then13600
  722. 13593 sys49152,sp+1,21-zf*3:print"[204]"
  723. 13600 sp=sp+ei:nextau
  724. 13601 ifx=2thenf$="s ae u l e n s t a t i s t i k":gosub2370:sys49158,fl:close1
  725. 13602 sys49152,3,24:print"bitte leertaste druecken...";
  726. 13605 getw$:ifw$<>" "then13605
  727. 13610 poke53281,hf:poke53280,rf:poke646,qf:print"[147]";
  728. 13620 gosub270:goto10670
  729. 13630 rem ****************************
  730. 13640 rem *** notentabelle         ***
  731. 13650 rem ****************************
  732. 13660 y=4:x=2:gosub480
  733. 13670 ifrethenreturn
  734. 13680 fl=y1-1
  735. 13690 gosub1980:gosub920
  736. 13695 f$="n o t e n t a b e l l e":gosub2370
  737. 13700 ifalthenopen5,8,5,"not."+da$+",l,"+chr$(13)
  738. 13710 ifalthenopen15,8,15
  739. 13720 open1,4,0:print#1,chr$(15-fl)
  740. 13730 print#1,"fachname        [194]nr[194]datum     [194]art [194]note";cr$(fl);
  741. 13740 s$="":s$="[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]"+a$(8,fl)+"[195][195]"+a$(8,fl)+"[195][195][195][195][195][195][195][195][195][195]"+a$(8,fl)
  742. 13750 s$=s$+"[195][195][195][195]"+a$(8,fl)+"[195][195][195][195]"+cr$(fl)
  743. 13751 b$="":b$=left$(lo$,16)+"[194]"+left$(lo$,2)+"[194]"+left$(lo$,10)+"[194]"
  744. 13752 b$=b$+left$(lo$,4)+"[194]"+left$(lo$,4)+cr$(fl)
  745. 13760 cl=1:for au=af to ed
  746. 13765 print#1,s$;
  747. 13770 ifalthenfa%=au:gosub1520:gosub330
  748. 13780 print#1,left$(fa$(fa%)+lo$,16);right$(b$,len(b$)-16);
  749. 13785 ifge%=0thenprint#1,b$;:goto13840
  750. 13790 for in=1 to ge%
  751. 13800 print#1,b$;
  752. 13810 print#1,left$(lo$,16)"[194]";mid$(str$(in)+" ",2,2);"[194]";dt$(in);"[194]";
  753. 13820 print#1,ar$(ar(in));"[194]";no(in);cr$(fl);
  754. 13830 nextin
  755. 13840 nextau
  756. 13850 print#1,s$:print#1:close1:close5:close15:cl=0
  757. 13860 return
  758. 13870 rem **************************
  759. 13880 rem *** einz.notentab      ***
  760. 13890 rem **************************
  761. 13900 ifge$="keine"then10670
  762. 13910 f$="drucker":af=fa%:ed=fa%:al=0:gosub13640:goto10670
  763. 13920 rem **************************
  764. 13930 rem *** alle.notentab      ***
  765. 13940 rem **************************
  766. 13950 f$="flo+dru":af=0:ed=az%:al=1:gosub13640
  767. 13960 goto10690
  768. 13970 rem **************************
  769. 13980 rem *** zeugnisausgabe     ***
  770. 13990 rem **************************
  771. 14000 y=4:x=1:gosub480:ify1=1then15470
  772. 14001 gosub320:a$="datumseingabe 'tt.mm.jjjj'":sys49152,8,9:printa$
  773. 14003 az=10:sp=15:ze=11:gosub660:dt$=ee$
  774. 14004 f$="flo+dru":gosub1980:gosub920:goto14010
  775. 14005 print#1,"[194]";spc(38);"[194]";cr$(1);:return
  776. 14010 open1,4,0:print#1,chr$(14)
  777. 14020 print#1,a$(0,1);:fori=0to37:print#1,"[195]";:next:print#1,a$(3,1);cr$(1);
  778. 14030 fori=0to2:gosub14005::next
  779. 14040 print#1,"[194]";chr$(15);spc(40-len(ei$(1))/2)ei$(1);
  780. 14050 print#1,spc(36.5-len(ei$(1))/2);chr$(14);"[194]";cr$(1);
  781. 14060 fori=0to2:gosub14005:nexti
  782. 14080 print#1,"[194]";chr$(15);" schuljahr 19";ei$(3);
  783. 14090 print#1,spc(51-len(da$));"klasse ";da$;chr$(14);"[194]";cr$(1);
  784. 14100 fori=0to4:gosub14005:next
  785. 14110 print#1,"[194]";spc(5);"z w i s c h e n z e u g n i s";spc(4);"[194]";cr$(1);
  786. 14115 gosub14005:gosub14005
  787. 14120 print#1,"[194]";spc(18);chr$(15)"fuer";chr$(14);spc(18);"[194]";cr$(1);
  788. 14125 gosub14005:gosub14005
  789. 14130 l=20-len(ei$(0))/2:print#1,"[194]";spc(l);ei$(0);
  790. 14140 print#1,spc(l-1.5);"[194]";cr$(1);
  791. 14150 print#1,"[194]";spc(l);:fori=1tolen(ei$(0)):print#1,"[196]";:next
  792. 14160 print#1,spc(l-1.5);"[194]";cr$(1);
  793. 14170 fori=0to3:gosub14005:next
  794. 14180 s$="[194]     ":fori=1to29:s$=s$+"[163]":nexti:s$=s$+"    [194]"+cr$(1)
  795. 14190 fori=0to3:gosub14005:print#1,s$;:next
  796. 14200 fori=0to3:gosub14005:next
  797. 14210 print#1,"[194]";spc(14);"leistungen";spc(14);"[194]";cr$(1);
  798. 14220 print#1,"[194]";spc(14);"[196][196][196][196][196][196][196][196][196][196]";spc(14);"[194]";cr$(1);
  799. 14230 gosub14005:gosub14005:gd=0
  800. 14231 gosub390:open5,8,5,"not."+da$+",l,"+chr$(13)
  801. 14232 open15,8,15:cl=1
  802. 14235 p$="................."
  803. 14240 for p=0 to az%/2
  804. 14250 fa%=p:gosub1520:gosub330:gosub1640:dd=int(dd+.47):gd=gd+dd
  805. 14260 print#1,"[194]"+left$(fa$(fa%)+p$,17);right$(str$(dd),1);"  ";
  806. 14262 fa%=int(az%/2+1)+p
  807. 14265 iffa$(fa%)=""thenprint#1,spc(18)"[194]";cr$(1);:goto14290
  808. 14270 gosub1520:gosub330:gosub1640:dd=int(dd+.47):gd=gd+dd
  809. 14280 print#1,left$(fa$(fa%)+p$,17);right$(str$(dd),1);"[194]";cr$(1);
  810. 14290 gosub14005:gosub14005:nextp
  811. 14300 cl=0:close5:close15
  812. 14310 fori=0to2:gosub14005:nexti
  813. 14315 a$="teilnahme am wahlunterricht "
  814. 14320 print#1,"[194]";spc(12);chr$(15);a$;chr$(14);spc(12);"[194]";cr$(1);
  815. 14330 gosub14005
  816. 14340 fori=0to4:gosub14005:print#1,s$;:next
  817. 14350 fori=0to5:gosub14005:nexti
  818. 14360 print#1,"[194]";ei$(2);", ";dt$;
  819. 15370 print#1,spc(37-(1+len(ei$(2))+len(dt$)));"[194]";cr$(1);
  820. 15380 fori=0to2:gosub14005:nexti
  821. 15400 print#1,a$(2,1);:fori=1to38:print#1,"[195]";:next:print#1,a$(1,1);cr$(1);
  822. 15405 print#1
  823. 15410 print#1,chr$(15);"gesammtdurchschnitt : ";
  824. 15420 zf=gd/(az%+1):gosub1790
  825. 15430 print#1,fo$;
  826. 15440 print#1:print#1:close1
  827. 15450 goto10690
  828. 15460 rem ****************************
  829. 15470 rem *** zeugnis auf bildschirm *
  830. 15480 rem ****************************
  831. 15490 pokevi+21,0
  832. 15500 print"[147]";:poke53281,0:poke53280,0:poke646,5
  833. 15580 sys49152,15,1:print"leistungen"
  834. 15590 sys49152,15,2:print"[197][197][197][197][197][197][197][197][197][197]"
  835. 15600 print:print:gd=0
  836. 15610 gosub920:sys49152,0,4:open5,8,5,"not."+da$+",l,"+chr$(13)
  837. 15620 open15,8,15:cl=1:zn=1
  838. 15630 for p=0 to az%/2
  839. 15640 fa%=p:gosub1520:gosub1640:dd=int(dd+.47):gd=gd+dd
  840. 15650 print"";left$(fa$(fa%)+lo$,16);"=";right$(str$(dd),1);"=  ";
  841. 15660 fa%=int(az%/2+1)+p
  842. 15670 iffa$(fa%)=""thenprint:goto15700
  843. 15680 gosub1520:gosub1640:dd=int(dd+.47):gd=gd+dd
  844. 15690 printleft$(fa$(fa%)+lo$,16);"=";right$(str$(dd),1);"=";
  845. 15700 ifaz%<15thenprint
  846. 15705 nextp
  847. 15710 close5:close15:cl=0:zn=0
  848. 15720 print:print"[156]ges.durchschnitt : ";
  849. 15730 zf=gd/(az%+1):gosub1790:printfo$
  850. 15740 print"[158]";:gosub1365
  851. 15760 print"[147]";:poke53281,hf:poke53280,rf:poke646,qf
  852. 15770 pokevi+21,3:goto10690
  853. 15780 rem *****************************
  854. 15890 rem *** flags. f. saeulenstat ***
  855. 15900 rem *****************************
  856. 15910 y=4:x=3:gosub480
  857. 15920 ifrethenreturn
  858. 15930 ify1=2thens1=7
  859. 15940 ify1=1thens1=0
  860. 15950 y=4:x=4:gosub480
  861. 15960 ifrethen15910
  862. 15970 s2=y1
  863. 15980 gosub1890:ifrethen15950
  864. 15990 return
  865.