-
Notifications
You must be signed in to change notification settings - Fork 5
/
SEAT.BAS
614 lines (614 loc) · 20.8 KB
/
SEAT.BAS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
1 COLOR 15,1: CLS:WIDTH LPRINT 132
10 CLS:PRINT"Seating Chart / Attendence List":INPUT"Is this an initial set up";Y$
20 IF LEFT$(Y$,1)="Y" THEN GOTO 30 :ELSE GOTO 40
30 DIM N$(33),BOOK(3,33),CON$(3,1,33)
40 DIM L$(33),R$(33),A$(33,60),R(31),BP(33)
50 PRINT "MAKE SURE THE PROPER DATA DISKS ARE IN BEFORE YOU CONTINUE."
60 HERE=0
70 INPUT "WHAT PER IS THIS FOR";P
75 INPUT"If the printer is a Tandy enter T";PT$
77 IF PT$<>"T" THEN WIDTH LPRINT 140
80 IF LEFT$(Y$,1)<> "Y" THEN GOTO 120
90 P$=STR$(P)
100 FI$="SCHDATA\PER"+RIGHT$(P$,1)
110 GOSUB 2090: GOSUB 2190
120 CLS:PRINT "DO YOU WANT TO: 1) MAKE A NEW CHART 2) MOVE INDIVIDUAL SEATS 3) MOVE, ADD OR DELETE A STUDENT 4) DO ATTENDANCE 5) PRINT A CHART 6)CHANGE A STUDENT NAME, 7)CHECK ATTENDANCE 8)CHANGE ATTEND."
125 INPUT"9)DO BOOK POINTS, 10)LIST BOOK POINTS, 11)QUIT";D
130 ON D GOTO 140,2990,750,1300,1550,4000,5000,7000,7200,7300,1490
140 IF HERE=0 THEN FI$="SA"+RIGHT$(STR$(P),1):GOSUB 2340
150 RANDOMIZE TIMER
160 FOR X= 1 TO S:R(X)=1:NEXT X
170 FOR X= 1 TO S
180 R=INT(1+RND(1)*S)
190 IF R(R)=0 THEN GOTO 180
200 R(R)=0:A$(X,0)=STR$(R)
210 NEXT X
220 GOSUB 230: GOTO 700
230 CLS
240 SP=31
250 FOR RW = 1 TO 5
260 T=2
270 FOR SN= 1 TO 6
280 SP=SP-1
290 IF SP>S AND SN=0 THEN PRINT TAB(1+3)"-";:T=3:GOTO 360
300 IF SP>9 THEN SEAT$=MID$(STR$(SP),2,2) :ELSE SEAT$=MID$(STR$(SP),2,1)
310 FOR X = 1 TO S
320 IF SN=1 THEN T=3
330 IF STR$(SP)=A$(X,0) OR SEAT$=A$(X,0) THEN PRINT TAB(1+T)X;:GOTO 360
340 NEXT X
350 PRINT TAB(1+T)"-";
360 IF SN=1 THEN T=T-1
370 T=T+13
380 NEXT SN
390 PRINT " "
400 T=0:SP=SP+6
410 FOR SN=1 TO 6
420 SP=SP-1
430 IF SP>9 THEN SEAT$=MID$(STR$(SP),2,2) :ELSE SEAT$=MID$(STR$(SP),2,1)
440 FOR X= 1 TO S
450 IF STR$(SP)=A$(X,0) OR SEAT$=A$(X,0) THEN PRINT TAB(1+T)L$(X);:GOTO 480
460 NEXT X
470 PRINT TAB(1+T)" ";
480 T=T+13
490 NEXT SN
500 PRINT " "
510 T=0:SP=SP+6
520 FOR SN= 1 TO 6
530 SP=SP-1
540 IF SP>9 THEN SEAT$=MID$(STR$(SP),2,2) :ELSE SEAT$=MID$(STR$(SP),2,1)
550 FOR X=1 TO S
560 IF STR$(SP)=A$(X,0) OR SEAT$=A$(X,0) THEN PRINT TAB(1+T)R$(X);:GOTO 590
570 NEXT X
580 PRINT TAB(1+T)"----------";
590 T=T+13
600 NEXT SN
610 PRINT " ":PRINT " "
620 NEXT RW
630 LOCATE 21,33:PRINT "FRONT"
640 FOR BAR=1 TO 3:LOCATE BAR,49:PRINT CHR$(176);:NEXT BAR
650 FOR BAR=1 TO 3:LOCATE BAR+4,23:PRINT CHR$(176);:NEXT BAR
660 FOR BAR=1 TO 3:LOCATE BAR+8,49:PRINT CHR$(176);:NEXT BAR
670 FOR BAR=1 TO 3:LOCATE BAR+12,23:PRINT CHR$(176);:NEXT BAR
680 FOR BAR=1 TO 3:LOCATE BAR+16,49:PRINT CHR$(176);:NEXT BAR
690 RETURN
700 LOCATE 22,1:PRINT "IS THIS O.K.";
710 INPUT "( 1=YES , 2=NO )";WELL
720 IF WELL=2 THEN GOTO 150
730 FI$="SA"+RIGHT$(STR$(P),1):GOSUB 2500
740 GOTO 120
750 IF HERE=0 THEN FI$="SA"+RIGHT$(STR$(P),1):GOSUB 2340
760 CLS:INPUT "IS THIS TO: 1)MOVE 2)ADD 3)DELETE";CH
770 ON CH GOTO 810,1070,1190
780 HALF=INT(S/2)
790 IF 2*HALF <> HALF THEN HALF=HALF+1
800 FOR X=1 TO HALF:PRINT X;L$(X);" ";R$(X);TAB(1+35)X+HALF;L$(X+HALF);" ";R$(X+HALF):NEXT X:RETURN
810 GOSUB 780
820 INPUT "WHAT IS THE NUMBER OF THE STUDENT TO BE MOVED";SN
830 INPUT "AND TO WHICH PERIOD MUST THEY BE MOVED";PER$
840 L$(33)=L$(SN):R$(33)=R$(SN):BP(33)=BP(SN):FOR M = 0 TO DC:A$(33,M)=A$(SN,M):NEXT M
850 FOR MOVE = SN TO S
860 L$(MOVE)=L$(MOVE+1):R$(MOVE)=R$(MOVE+1):BP(MOVE)=BP(MOVE+1):FOR M = 0 TO DC:A$(MOVE,M)=A$(MOVE+1,M):NEXT M
870 NEXT MOVE
880 S=S-1
890 FI$="SA"+RIGHT$(STR$(P),1):GOSUB 2500
900 P=VAL(PER$)
910 FI$="SA"+PER$:GOSUB 2340
920 CLS:GOSUB 800
930 PRINT L$(33);" ";R$(33);" MUST BE INSERTED AFTER # ";:INPUT NEWSPOT:NEWSPOT= NEWSPOT+1
940 S=S+1
950 FOR X= S TO NEWSPOT STEP -1
960 L$(X)=L$(X-1):R$(X)=R$(X-1):BP(X)=BP(X-1)
970 FOR M = 0 TO DC
980 A$(X,M)=A$(X-1,M)
990 NEXT M
1000 NEXT X
1010 L$( NEWSPOT)=L$(33):R$( NEWSPOT)=R$(33):BP( NEWSPOT)=BP(33)
1020 FOR M= 0 TO DC:A$( NEWSPOT,M)=A$(33,M):NEXT M
1030 GOSUB 230
1040 LOCATE 22,1:PRINT "WHERE IS ";R$( NEWSPOT);:INPUT " TO SIT(30-UPPER LEFT)";S$
1050 A$( NEWSPOT,0)=S$
1060 GOSUB 2500: GOTO 120
1070 GOSUB 780:INPUT "AFTER WHAT # STUDENT DO YOU WANT TO PUT THE NEW STUDENT"; NEWSTEW:NEWSTEW= NEWSTEW+1
1080 S=S+1
1090 FOR X= S TO NEWSTEW STEP -1
1100 L$(X)=L$(X-1):R$(X)=R$(X-1):BP(X)=BP(X-1)
1110 FOR M= 0 TO DC
1120 A$(X,M)=A$(X-1,M)
1130 NEXT M
1140 NEXT X
1145 FOR X = 1 TO DC :A$(NEWSTEW,X)="-":NEXT X
1150 INPUT "NEW NAME ( LAST , FIRST )";R$( NEWSTEW),L$( NEWSTEW):A$( NEWSTEW,0)="0":BP( NEWSTEW)=10
1160 GOSUB 230
1170 LOCATE 22,1:PRINT "SEAT # FOR ";R$( NEWSTEW);" (30-UPPER LEFT)";:INPUT A$( NEWSTEW,0)
1180 GOSUB 2500:GOTO 120
1190 GOSUB 780:INPUT "# OF STUDENT TO BE DELETED";RID
1200 PRINT "IS ";R$(RID);" THE STUDENT TO BE DELETED ( 3 IF NO )";:INPUT Y
1210 IF Y=3 THEN GOTO 1190
1220 FOR X = RID TO S
1230 L$(X)=L$(X+1):R$(X)=R$(X+1):BP(X)=BP(X+1)
1240 FOR M = 0 TO DC
1250 A$(X,M)=A$(X+1,M)
1260 NEXT M
1270 NEXT X
1280 S=S-1
1290 GOSUB 2500: GOTO 120
1300 IF HERE=0 THEN FI$="SA"+RIGHT$(STR$(P),1):GOSUB 2340
1310 GOSUB 230
1320 DC=DC+1
1330 FOR X = 1 TO S:A$(X,DC)="P":NEXT X
1335 VIEW PRINT 22 TO 24:LOCATE 22,1:PRINT"Last date entered was ";A$(0,DC-1);" Today's Date <00/00>";:INPUT A$(0,DC):CLS
1340 LOCATE 22,1:PRINT "On ";A$(0,DC);" how many SEATS are empty";:INPUT E
1350 CLS
1360 FOR X= 1 TO E
1370 LOCATE 22,1:PRINT "STUDENT #";:INPUT STUDENT
1380 LOCATE 22,1:PRINT A$(0,DC);" ";R$(STUDENT);TAB(30)" IS: A-ABS. T-LATE (T)-T/Pass L-@ LESSONS F-FIELD TRIP C-A.W.O.L (C)- Acc.For S-Susp. I-ISS";:INPUT A$(STUDENT,DC)
1390 IF A$(STUDENT,DC)<>"T" THEN GOTO 1450
1400 FOR Z=1 TO DC-1
1410 IF A$(STUDENT,Z)="T" THEN A$(STUDENT,Z)="T1": GOTO 1430
1420 NEXT Z:GOTO 1450
1430 A$(STUDENT,DC)="T1"
1440 LOCATE 22,1:PRINT "YOU HAVE TO GIVE LUNCH DETENTION TO ";L$(STUDENT);" ";R$(STUDENT);:LINE INPUT "<ENTER> TO CONT. "; Q$
1450 LOCATE 22,1:PRINT " ";
1460 NEXT X
1465 VIEW PRINT 1 TO 24
1470 GOSUB 2500
1480 GOTO 120
1490 CLS
1500 GOSUB 230
1510 LOCATE 22,1:PRINT " "
1520 LINE INPUT "<ENTER> TO EXIT--ANY NUMBER TO DO ANOTHER CLASS";A$
1530 IF LEN(A$)=0 THEN GOTO 1540 :ELSE RUN
1540 SYSTEM
1545 END
1550 IF HERE=0 THEN FI$="SCHDATA\SA"+RIGHT$(STR$(P),1):GOSUB 2340
1552 FOR SPACE = 1 TO 10:LPRINT" ":NEXT SPACE:LPRINT" A date in one of the spaces to the right of the student indicates absence."
1554 LPRINT" L - lessons, T - tardy, H - health office, F - field trip"
1556 LPRINT" A - unAccounted for, A (with / through) - Accounted for later"
1558 LPRINT" (T) - tardy with excuse, S - Suspended, IS - InSchool Suspension"
1560 FOR SPACE = 1 TO 5:LPRINT" ":NEXT SPACE:LPRINT TAB(1+35)"Period";P
1565 IF PT$="T" THEN LPRINT CHR$(27); CHR$(14);:LPRINT" ":GOTO 1580
1570 LPRINT CHR$(27);CHR$(38);CHR$(107);CHR$(50);CHR$(83);:LPRINT " ":LPRINT " "
1580 SP=31
1590 FOR RW=1 TO 5:SNT=3:NLT=0:NRT=0
1600 FOR SN=1 TO 6
1610 SP=SP-1
1620 IF SP>9 THEN ST$=MID$(STR$(SP),2,2) :ELSE ST$=MID$(STR$(SP),2,1)
1630 FOR X=1 TO S
1640 IF STR$(SP)=A$(X,0) OR ST$=A$(X,0) THEN LPRINT TAB(1+SNT)X;:GOTO 1670
1650 NEXT X
1660 LPRINT TAB(1+SNT)"-";
1670 GOSUB 2620
1680 SNT=SNT+23
1690 NEXT SN:LPRINT " "
1700 SP=SP+6
1710 FOR SN=1 TO 6
1720 SP=SP-1
1730 IF SP>9 THEN ST$=MID$(STR$(SP),2,2) :ELSE ST$=MID$(STR$(SP),2,1)
1740 FOR X=1 TO S
1750 IF STR$(SP)=A$(X,0) OR ST$=A$(X,0) THEN GOTO 1780
1760 NEXT X
1770 LPRINT TAB(1+NLT)" ";:GOTO 1810
1780 IF LEN(L$(X))>12 THEN GOTO 1790 :ELSE GOTO 1800
1790 LPRINT TAB(1+NLT)LEFT$(L$(X),12);:GOTO 1810
1800 LPRINT TAB(1+NLT)L$(X);
1810 GOSUB 2680
1820 GOSUB 2620
1830 NLT=NLT+23
1840 NEXT SN
1850 SP=SP+6
1860 FOR SN=1 TO 6
1870 SP=SP-1
1880 IF SP>9 THEN ST$=MID$(STR$(SP),2,2) :ELSE ST$=MID$(STR$(SP),2,1)
1890 FOR X=1 TO S
1900 IF ST$=A$(X,0) OR STR$(SP)=A$(X,0) THEN GOTO 1930
1910 NEXT X
1920 LPRINT TAB(1+NRT)"----------";:GOTO 1960
1930 IF LEN(R$(X))>12 THEN GOTO 1940 :ELSE GOTO 1950
1940 LPRINT TAB(1+NRT)LEFT$(R$(X),12);:GOTO 1960
1950 LPRINT TAB(1+NRT)R$(X);
1960 GOSUB 2680
1970 GOSUB 2620
1980 NRT=NRT+23
1990 NEXT SN
2000 FOR SN=1 TO 6
2010 GOSUB 2680
2020 GOSUB 2620
2030 NEXT SN
2040 LPRINT " "
2050 NEXT RW
2052 IF S=31 THEN GOTO 2800
2055 IF PT$="T" THEN LPRINT CHR$(27); CHR$(15);:GOTO 2070
2065 LPRINT CHR$(27);CHR$(38);CHR$(107);CHR$(48);CHR$(83);
2070 LPRINT " ":LPRINT " ":LPRINT TAB(1+37)"FRONT"
2075 LPRINT CHR$(27);CHR$(38);CHR$(108);CHR$(48);CHR$(72)
2080 GOTO 120
2090 OPEN "I",2,FI$
2100 IF EOF(2) THEN 2160
2110 INPUT #2,P1,S,Q,M,K,CON$(0,0,0),CON$(1,0,0),CON$(2,0,0),CON$(3,0,0)
2112 IF Q=0 THEN INPUT#2,QU$(0):GOTO 2120
2114 FOR X= 1 TO Q: INPUT#2,QU$(X):NEXT X
2120 FOR X=1 TO S
2130 IF EOF(2) THEN 2160
2140 INPUT #2,N$(X),G$,B$,BOOK(0,X),CON$(0,0,X),CON$(0,1,X),BOOK(1,X),CON$(1,0,X),CON$(1,1,X),BOOK(2,X),CON$(2,0,X),CON$(2,1,X),BOOK(3,X),CON$(3,0,X),CON$(3,1,X)
2150 NEXT X
2160 CLOSE
2170 HERE = 1
2180 RETURN
2190 FOR X=1 TO S
2200 LL=0
2210 L=LEN(N$(X))
2220 FOR Y=1 TO L
2230 LL=LL+1
2240 IF MID$(N$(X),LL,1)=" " THEN GOTO 2260
2250 NEXT Y
2260 L$(X)=LEFT$(N$(X),LL)
2270 RS=L-LL
2280 R$(X)=RIGHT$(N$(X),RS)
2290 PRINT N$(X);"'S ";
2300 INPUT "NICKNAME (N IF NONE)";L$(X)
2310 IF L$(X)="N" OR L$(X)="n" THEN L$(X)=LEFT$(N$(X),LL)
2320 NEXT X
2330 RETURN
2340 IF LEFT$(FI$,8)="SCHDATA\" THEN GOTO 2352
2350 FI$="SCHDATA\"+FI$
2352 INPUT"Is this a Study Hall";Y$
2354 IF LEFT$(Y$,1)="y" OR LEFT$(Y$,1)="Y" THEN GOTO 2356 :ELSE GOTO 2360
2356 INPUT" A or B day";DA$
2358 FI$= FI$ + DA$
2360 OPEN "I",2,FI$
2370 IF EOF(2) THEN GOTO 2470
2380 INPUT #2,S,DC
2390 FOR X=0 TO S
2400 IF EOF(2) THEN GOTO 2470
2410 INPUT #2,L$(X),R$(X),BP(X)
2420 FOR M=0 TO DC
2430 IF EOF(2) THEN GOTO 2470
2440 INPUT #2,A$(X,M)
2450 NEXT M
2460 NEXT X
2470 CLOSE 2
2480 HERE = 1
2490 RETURN
2500 IF LEFT$(FI$,8)="SCHDATA\" THEN GOTO 2520
2510 FI$="SCHDATA\"+FI$
2520 OPEN "O",1,FI$
2530 PRINT # 1,S;",";DC
2540 FOR X= 0 TO S
2550 PRINT # 1,L$(X);",";R$(X);",";BP(X)
2560 FOR M=0 TO DC
2570 PRINT #1,A$(X,M)
2580 NEXT M
2590 NEXT X
2600 CLOSE 1
2610 RETURN
2620 IF RW=1 AND SN=4 THEN LPRINT TAB(1+90)CHR$(239);
2630 IF RW=3 AND SN=4 THEN LPRINT TAB(1+90)CHR$(239);
2640 IF RW=5 AND SN=4 THEN LPRINT TAB(1+90)CHR$(239);
2650 IF RW=2 AND SN=2 THEN LPRINT TAB(1+44)CHR$(239);
2660 IF RW=4 AND SN=2 THEN LPRINT TAB(1+44)CHR$(239);
2670 RETURN
2680 SPACEC=SPACEC+1
2690 IF SPACEC=1 THEN TS=-11
2700 TS=TS+23
2710 LPRINT TAB(1+TS)"-- -- --";
2720 IF SPACEC=6 THEN LPRINT " ":SPACEC=0
2730 RETURN
2800 FOR X= 1 TO 31
2810 IF A$(X,0)="31" OR A$(X,0)=" 31" THEN LPRINT TAB(5) X: GOTO 2840
2820 NEXT X
2840 SPACEC=0:LPRINT L$(X);
2850 GOSUB 2680
2860 SPACEC=0: LPRINT" ": LPRINT R$(X);
2870 GOSUB 2680
2880 LPRINT" ":LPRINT"Floater";:SPACEC=0:GOSUB 2680:LPRINT" ":LPRINT CHR$(27);CHR$(38);CHR$(107);CHR$(48);CHR$(83);:LPRINT TAB(40) "FRONT"
2884 LPRINT CHR$(27);CHR$(38);CHR$(108);CHR$(48);CHR$(72)
2885 GOTO 120
2940 GOTO 120
2990 IF HERE=0 THEN FI$="SA"+RIGHT$(STR$(P),1):GOSUB 2340
3000 VIEW PRINT 1 TO 24: CLS
3010 SP=31
3020 FOR RW = 1 TO 5
3030 T=2
3040 FOR SN= 1 TO 6
3050 SP=SP-1
3060 IF SP>S AND SN=1 THEN PRINT TAB(1+3)"-";:T=3:GOTO 3130
3070 IF SP>9 THEN SEAT$=MID$(STR$(SP),2,2) :ELSE SEAT$=MID$(STR$(SP),2,1)
3080 FOR X = 1 TO S
3090 IF SN=1 THEN T=3
3100 IF STR$(SP)=A$(X,0) OR SEAT$=A$(X,0) THEN PRINT TAB(1+T)X;:GOTO 3130
3110 NEXT X
3120 PRINT TAB(1+T)"-";
3130 IF SN=1 THEN T=T-1
3140 T=T+13
3150 NEXT SN
3160 PRINT " "
3170 T=0:SP=SP+6
3180 FOR SN=1 TO 6
3190 SP=SP-1
3200 IF SP>9 THEN SEAT$=MID$(STR$(SP),2,2) :ELSE SEAT$=MID$(STR$(SP),2,1)
3210 FOR X= 1 TO S
3220 IF STR$(SP)=A$(X,0) OR SEAT$=A$(X,0) THEN PRINT TAB(1+T)"Seat#";SP;:GOTO 3250
3230 NEXT X
3240 PRINT TAB(1+T)" ";
3250 T=T+13
3260 NEXT SN
3270 PRINT " "
3280 T=0:SP=SP+6
3290 FOR SN= 1 TO 6
3300 SP=SP-1
3310 IF SP>9 THEN SEAT$=MID$(STR$(SP),2,2) :ELSE SEAT$=MID$(STR$(SP),2,1)
3320 FOR X=1 TO S
3330 IF STR$(SP)=A$(X,0) OR SEAT$=A$(X,0) THEN PRINT TAB(1+T)R$(X);:GOTO 3360
3340 NEXT X
3350 PRINT TAB(1+T)"----------";
3360 T=T+13
3370 NEXT SN
3380 PRINT " ":PRINT " "
3390 NEXT RW
3400 IF S < 31 THEN GOTO 3440
3410 FOR X = 1 TO S
3420 IF VAL(A$(X,0)) = 31 THEN LOCATE 20,5:PRINT "Floater -";X;R$(X)
3430 NEXT X
3440 FOR BAR=1 TO 3:LOCATE BAR,49:PRINT CHR$(176);:NEXT BAR
3450 FOR BAR=1 TO 3:LOCATE BAR+4,23:PRINT CHR$(176);:NEXT BAR
3460 FOR BAR=1 TO 3:LOCATE BAR+8,49:PRINT CHR$(176);:NEXT BAR
3470 FOR BAR=1 TO 3:LOCATE BAR+12,23:PRINT CHR$(176);:NEXT BAR
3480 FOR BAR=1 TO 3:LOCATE BAR+16,49:PRINT CHR$(176);:NEXT BAR
3490 VIEW PRINT 21 TO 24
3500 PRINT"Move lower # students first. 0 - When done 33 - Redraw Chart"
3510 INPUT"Move student #";STU
3520 IF STU = 33 THEN GOTO 3000
3530 IF STU = 0 THEN VIEW PRINT 1 TO 24:GOTO 730
3540 INPUT"To seat #";A$(STU,0)
3550 GOTO 3500
4000 CLS:FOR NM = 1 TO 11
4010 PRINT NM;L$(NM);" ";R$(NM);TAB(25) NM+11;L$(NM+11);" ";R$(NM+11);TAB(50) NM+22;L$(NM+22);" ";R$(NM+22)
4020 NEXT NM
4030 INPUT"Change First<1> or Last<2> name";F
4040 IF F=2 THEN GOTO 4070
4050 INPUT"Number of student";SNMB
4060 PRINT"New first name for ";L$(SNMB);:INPUT L$(SNMB):GOTO 4090
4070 INPUT"Number of student";SNMB
4080 PRINT"New last name for ";R$(SNMB);:INPUT R$(SNMB)
4090 INPUT"Change another name<1> or return to menu<2>";GT
4100 IF GT = 1 THEN GOTO 4000
4110 IF GT = 2 THEN GOSUB 2500: GOTO 120
5000 IF HERE = 0 THEN FI$="SA"+RIGHT$(STR$(P),1):GOSUB 2340
5010 INPUT"1-Hard or 2-Soft copy";HC
5020 INPUT"For 1 student<1> or entire class<2>";CL
5030 IF CL = 2 THEN GOTO 5250
5040 IF HC = 2 THEN GOTO 5150
5050 CLS:FOR NM = 1 TO 11
5060 PRINT NM;L$(NM);" ";R$(NM);TAB(25) NM+11;L$(NM+11);" ";R$(NM+11);TAB(50) NM+22;L$(NM+22);" ";R$(NM+22)
5070 NEXT NM
5080 INPUT"Student #";SNMB
5085 LPRINT CHR$(27);CHR$(38);CHR$(107);CHR$(50);CHR$(83);
5090 LPRINT L$(SNMB);" ";R$(SNMB);" ";
5100 FOR X = 1 TO DC
5110 LPRINT A$(0,X);":";A$(SNMB,X);" ";
5120 NEXT X:LPRINT" ":LPRINT" "
5130 INPUT"Do another student <1>yes, <2>no";Y
5140 IF Y = 1 THEN GOTO 5050 :ELSE LPRINT CHR$(27);CHR$(38);CHR$(108);CHR$(48);CHR$(72): LPRINT CHR$(27);CHR$(38);CHR$(107);CHR$(48);CHR$(83):GOTO 120
5150 CLS:FOR NM = 1 TO 11
5160 PRINT NM;L$(NM);" ";R$(NM);TAB(25) NM+11;L$(NM+11);" ";R$(NM+11);TAB(50) NM+22;L$(NM+22);" ";R$(NM+22)
5170 NEXT NM
5180 INPUT"Student #";SNMB
5190 PRINT L$(SNMB);" ";R$(SNMB);
5200 FOR X = 1 TO DC
5210 PRINT A$(0,X);":";A$(SNMB,X);" ";
5220 NEXT X:PRINT" ":PRINT" "
5230 INPUT"Do another student <1>yes, <2>no";Y
5240 IF Y = 1 THEN GOTO 5150 :ELSE GOTO 120
5250 IF HC = 2 THEN GOTO 5700
5260 LPRINT CHR$(27);CHR$(38);CHR$(107);CHR$(50);CHR$(83);
5270 LPRINT"P-Present, A-Abs., T-Tardy, (T)-Excused T, C-A.W.O.L., (C)-Accounted for, L-Lessons, F-Field Trip, S-Susp., I-ISS":LPRINT"H-Health Office, O-Office, G-Guidence":LPRINT" "
5275 LPRINT"Period ";P
5280 LPRINT TAB(30) A$(0,1);
5290 FOR D = 2 TO 20:LPRINT A$(0,D);:NEXT D:LPRINT" "
5300 FOR X = 1 TO S:D=1
5310 LPRINT R$(X);",";L$(X);TAB(30) A$(X,1);
5320 FOR TB = 35 TO 125 STEP 5
5330 D=D+1
5340 LPRINT TAB(TB) A$(X,D);
5350 NEXT TB:LPRINT" "
5360 NEXT X
5370 IF DC < 20 THEN GOTO 5570
5380 LPRINT CHR$(27);CHR$(38);CHR$(108);CHR$(48);CHR$(72)
5384 LPRINT TAB(30) A$(0,21);
5386 FOR D = 22 TO 40:LPRINT A$(0,D);:NEXT D:LPRINT" "
5390 FOR X = 1 TO S:D=21
5400 LPRINT R$(X);",";L$(X);TAB(30) A$(X,21);
5410 FOR TB = 35 TO 125 STEP 5
5415 D=D+1
5420 LPRINT TAB(TB) A$(X,D);
5440 NEXT TB:LPRINT" "
5450 NEXT X
5460 IF DC < 40 THEN GOTO 5570
5470 LPRINT CHR$(27);CHR$(38);CHR$(108);CHR$(48);CHR$(72)
5474 LPRINT TAB(30) A$(0,41);
5476 FOR D = 42 TO 60:LPRINT A$(0,D);:NEXT D:LPRINT" "
5480 FOR X = 1 TO S:D=41
5490 LPRINT R$(X);",";L$(X);TAB(30) A$(X,40);
5510 FOR TB = 35 TO 125 STEP 5
5515 D=D+1
5520 LPRINT TAB(TB) A$(X,D);
5540 NEXT TB:LPRINT" "
5550 NEXT X
5560 IF DC < 60 THEN GOTO 5570
5570 LPRINT CHR$(27);CHR$(38);CHR$(108);CHR$(48);CHR$(72)
5580 LPRINT CHR$(27);CHR$(38);CHR$(107);CHR$(48);CHR$(83)
5590 INPUT"Do you want to clean out Data <1>yes, <2>no";Y1
5600 IF Y1 = 2 THEN GOTO 120
5610 FOR X = 0 TO S
5620 FOR D = 1 TO DC
5630 A$(X,D)=""
5640 NEXT D
5650 NEXT X
5660 DC=0
5670 GOSUB 2500
5680 GOTO 120
5700 CLS
5710 PRINT TAB(30) A$(0,1);
5720 FOR D=2 TO 10:PRINT A$(0,D);:NEXT D:PRINT" "
5730 VIEW PRINT 2 TO 24
5740 FOR X=1 TO 20:D=1
5750 PRINT R$(X);",";L$(X);:PRINT TAB(30) A$(X,1);
5760 FOR TB = 35 TO 75 STEP 5
5770 D=D+1
5780 PRINT TAB(TB) A$(X,D);
5790 NEXT TB
5800 PRINT" "
5810 NEXT X
5820 INPUT"Hit Enter to continue.";EG: IF S<21 THEN GOTO 5930
5830 CLS
5840 FOR X = 21 TO S:D=1
5850 PRINT R$(X);",";L$(X);:PRINT TAB(30) A$(X,1);
5860 FOR TB = 35 TO 75 STEP 5
5870 D=D+1
5880 PRINT TAB(TB)A$(X,D);
5890 NEXT TB
5900 PRINT" "
5910 NEXT X
5920 INPUT"Hit Enter to continue";EG
5930 VIEW PRINT 1 TO 24
5940 IF DC<11 THEN GOTO 120
5950 CLS
5960 PRINT TAB(30) A$(0,11);
5970 FOR D=12 TO 20:PRINT A$(0,D);:NEXT D:PRINT" "
5980 VIEW PRINT 2 TO 24
5990 FOR X=1 TO 20:D=11
6000 PRINT R$(X);",";L$(X);:PRINT TAB(30) A$(X,11);
6010 FOR TB = 35 TO 75 STEP 5
6020 D=D+1
6030 PRINT TAB(TB) A$(X,D);
6040 NEXT TB
6050 PRINT" "
6060 NEXT X
6070 INPUT"Hit Enter to continue.";EG: IF S<21 THEN GOTO 6180
6080 CLS
6090 FOR X = 21 TO S:D=11
6100 PRINT R$(X);",";L$(X);:PRINT TAB(30) A$(X,11);
6110 FOR TB = 35 TO 75 STEP 5
6120 D=D+1
6130 PRINT TAB(TB)A$(X,D);
6140 NEXT TB
6150 PRINT" "
6160 NEXT X
6170 INPUT"Hit Enter to continue";EG
6180 VIEW PRINT 1 TO 24
6190 IF DC<21 THEN GOTO 120
6200 CLS
6210 PRINT TAB(30) A$(0,21);
6220 FOR D=22 TO 30:PRINT A$(0,D);:NEXT D:PRINT" "
6230 VIEW PRINT 2 TO 24
6240 FOR X=1 TO 20:D=21
6250 PRINT R$(X);",";L$(X);:PRINT TAB(30) A$(X,21);
6260 FOR TB = 35 TO 75 STEP 5
6270 D=D+1
6280 PRINT TAB(TB) A$(X,D);
6290 NEXT TB
6300 PRINT" "
6310 NEXT X
6320 INPUT"Hit Enter to continue.";EG: IF S<21 THEN GOTO 6430
6330 CLS
6340 FOR X = 21 TO S:D=21
6350 PRINT R$(X);",";L$(X);:PRINT TAB(30) A$(X,21);
6360 FOR TB = 35 TO 75 STEP 5
6370 D=D+1
6380 PRINT TAB(TB)A$(X,D);
6390 NEXT TB
6400 PRINT" "
6410 NEXT X
6420 INPUT"Hit Enter to continue";EG
6430 VIEW PRINT 1 TO 24
6440 IF DC<31 THEN GOTO 120
6450 CLS
6460 PRINT TAB(30) A$(0,31);
6470 FOR D=32 TO 40:PRINT A$(0,D);:NEXT D:PRINT" "
6480 VIEW PRINT 2 TO 24
6490 FOR X=1 TO 20:D=31
6500 PRINT R$(X);",";L$(X);:PRINT TAB(30) A$(X,31);
6510 FOR TB = 35 TO 75 STEP 5
6520 D=D+1
6530 PRINT TAB(TB) A$(X,D);
6540 NEXT TB
6550 PRINT" "
6560 NEXT X
6570 INPUT"Hit Enter to continue.";EG: IF S<21 THEN GOTO 6680
6580 CLS
6590 FOR X = 21 TO S:D=31
6600 PRINT R$(X);",";L$(X);:PRINT TAB(30) A$(X,31);
6610 FOR TB = 35 TO 75 STEP 5
6620 D=D+1
6630 PRINT TAB(TB)A$(X,D);
6640 NEXT TB
6650 PRINT" "
6660 NEXT X
6670 INPUT"Hit Enter to continue";EG
6680 VIEW PRINT 1 TO 24
6690 IF DC<41 THEN GOTO 120
6700 CLS
6710 PRINT TAB(30) A$(0,41);
6720 FOR D=42 TO 50:PRINT A$(0,D);:NEXT D:PRINT" "
6730 VIEW PRINT 2 TO 24
6740 FOR X=1 TO 20:D=41
6750 PRINT R$(X);",";L$(X);:PRINT TAB(30) A$(X,41);
6760 FOR TB = 35 TO 75 STEP 5
6770 D=D+1
6780 PRINT TAB(TB) A$(X,D);
6790 NEXT TB
6800 PRINT" "
6810 NEXT X
6820 INPUT"Hit Enter to continue.";EG: IF S<21 THEN GOTO 6930
6830 CLS
6840 FOR X = 21 TO S:D=41
6850 PRINT R$(X);",";L$(X);:PRINT TAB(30) A$(X,41);
6860 FOR TB = 35 TO 75 STEP 5
6870 D=D+1
6880 PRINT TAB(TB)A$(X,D);
6890 NEXT TB
6900 PRINT" "
6910 NEXT X
6920 INPUT"Hit Enter to continue";EG
6930 VIEW PRINT 1 TO 24
6940 IF DC<51 THEN GOTO 120
6950 GOTO 120
7000 IF HERE=0 THEN FI$="SA"+RIGHT$(STR$(P),1):GOSUB 2340
7005 CLS
7010 GOSUB 780
7020 VIEW PRINT 17 TO 24
7030 INPUT"What is the number of the student you need to change";SN
7040 INPUT"What is the date you need to change <00/00>";D$
7050 FOR X = 1 TO DC
7060 IF D$ = A$(0,X) THEN GOTO 7100
7070 NEXT X
7080 PRINT"Are you sure you have the correct date? Try again."
7090 GOTO 7040
7100 PRINT R$(SN);" is listed as ";A$(SN,X);" for ";A$(0,X)
7110 INPUT"What must it be changed to";A$(SN,X)
7120 INPUT"Any more changes <1>yes <2>no";Y1
7130 VIEW PRINT 1 TO 24
7140 IF Y1 = 1 THEN CLS: GOTO 7010
7150 IF Y1 = 2 THEN CLS: GOSUB 2500:GOTO 120
7160 END
7200 IF HERE=0 THEN FI$="SA"+RIGHT$(STR$(P),1):GOSUB 2340
7210 GOSUB 230
7220 VIEW PRINT 22 TO 24
7230 LOCATE 22,1: INPUT"# of student without books out(0 if finished)";ST
7240 IF ST = 0 THEN GOTO 7280
7250 BP(ST)=BP(ST)-1
7260 CLS
7270 GOTO 7230
7280 VIEW PRINT 1 TO 24:GOSUB 2500: GOTO 120
7300 IF HERE=0 THEN FI$="SA"+RIGHT$(STR$(P),1):GOSUB 2340
7305 LPRINT CHR$(27);CHR$(38);CHR$(100);CHR$(48);CHR$(68);
7310 FOR X = 1 TO S
7320 LPRINT R$(X);",";L$(X);" ";BP(X)
7330 NEXT X:LPRINT CHR$(27);CHR$(38);CHR$(100);CHR$(64):LPRINT CHR$(27);CHR$(38);CHR$(108);CHR$(48);CHR$(72)
7340 INPUT"Do you want to reset points for a new marking period ( Y or N )";Z$
7350 IF Z$="n" OR Z$="N" THEN GOTO 7390
7360 FOR X = 1 TO S
7370 BP(X)=10
7380 NEXT X
7390 CLS:GOTO 120
7400 END