Teacher’s gradebook.
Content
Source Code
5 REM gradebook SYNC M/A 83 Jim I. Brown
12 CLS : BORDER 6: GO SUB 7000
14 PRINT " G R A D E B O O K"
16 PRINT
17 GO SUB 7000
19 PRINT : PRINT ;" "; INVERSE 1;" M E N U "; INVERSE 0;" Do you wish to:": PRINT
22 PRINT " 1. Start a new class?"
23 PRINT " 2. Add a new student?"
24 PRINT " 3. Add a new grade to each students record?"
25 PRINT " 4. List all students and their grades?"
26 PRINT " 5. List a particular students grades (including the option to change a grade)?"
27 PRINT " 6. Obtain a grade distribution?"
28 PRINT " 7. Leave the program?"
32 PRINT : PRINT "ENTER THE NUMBER OF YOUR CHOICE."
35 INPUT q
45 IF q<1 OR q>7 THEN GO TO 35
50 IF q=1 THEN GO TO 65
52 IF q=2 THEN GO TO 600
54 IF q=3 THEN GO TO 275
56 IF q=4 THEN GO TO 500
58 IF q=5 THEN GO TO 1600
60 IF q=6 THEN GO TO 4000
61 IF q=7 THEN GO TO 1500
62 CLS
64 GO TO 20
65 CLS
70 PRINT : PRINT INVERSE 1;" ARE YOU SURE (y/n)? "
75 PRINT : PRINT " Remember a new roster will delete the current one along with its stored data."
82 PRINT : PRINT " ENTER ""C"" TO RETURN TO THE MAIN MENU."
83 INPUT r$
84 CLS
85 IF r$="y" THEN GO TO 100
95 GO TO 19
100 PRINT "How many students are in the class?": INPUT x
103 LET x=x+1
114 CLS
115 LET w=0
200 DIM n$(41,15)
210 DIM g(41,20)
219 FOR n=1 TO x
220 LET n$(1)="POSSIBLE"
222 IF n=1 THEN GO TO 270
230 PRINT "Enter name no. ";n-1
240 INPUT n$(n)
250 CLS
260 PRINT n$(n)
270 NEXT n
271 GO SUB 8000
275 LET w=w+1
276 CLS
290 FOR n=1 TO x
295 PRINT n$(n)
296 LET v=w
298 PRINT "ENTER GRADE NUMBER ";v
300 INPUT g(n,v)
310 CLS
320 PRINT g(n,v)
340 NEXT n
400 PRINT
410 GO SUB 8000
490 FOR n=1 TO x
500 CLS : PRINT
505 FOR n=1 TO x
510 PRINT n$(n)
515 LET t=0
520 FOR v=1 TO w
532 LET t=g(n,v)+t
533 IF n=1 THEN LET z=t
535 NEXT v
543 PRINT "TOTAL = ";t;" ";
545 LET per=(t/z)*100
546 LET per=INT (per+.5)
547 PRINT "PERCENT = ";per
548 PRINT
550 NEXT n
560 PRINT
570 GO SUB 8000
600 LET x=x+1
605 FOR n=1 TO x
610 NEXT n
620 CLS
630 PRINT "ENTER THE NAME OF STUDENT NUMBER ";n-2
640 INPUT n$(n-1)
650 CLS
660 PRINT "The following student has been added: ";n$(n-1)
670 PRINT
680 GO SUB 8000
1500 CLS : PRINT : PRINT "To save this program:"
1501 PRINT
1502 PRINT "A. Position the tape."
1503 PRINT
1505 PRINT "B. TYPE ""C"""
1506 PRINT
1507 PRINT "C. Start the recorder."
1508 PRINT
1509 PRINT "Press ENTER."
1510 STOP
1520 SAVE "GRADEBOOK"
1530 GO TO 1
1600 CLS
1603 PRINT "Enter the name of the student."
1605 INPUT c$
1608 CLS
1610 LET j=LEN c$
1615 DIM m$(41,j)
1620 FOR n=1 TO x
1625 LET m$(n)=n$(n)
1630 IF c$=m$(n) THEN GO TO 1700
1635 NEXT n
1640 PRINT
1645 PRINT " "; FLASH 1;"No such name on roster"
1650 PRINT
1655 GO SUB 8000
1700 PRINT n$(n)
1705 LET t=0
1710 FOR v=1 TO w
1715 PRINT v;". ";g(n,v)
1720 LET t=g(n,v)+t
1722 IF n=1 THEN LET z=t
1725 NEXT v
1726 PRINT "TOTAL = ";t
1727 LET per=(t/z)*100
1728 LET per=INT (per+.5)
1729 PRINT "Possible = ";z
1731 PRINT "Percent = ";per
1732 PRINT
1735 PRINT " Do you wish to change a grade (y/n)?": INPUT r$
1745 IF r$="y" THEN GO TO 1800
1750 CLS
1755 GO TO 19
1800 PRINT
1822 PRINT "Select the number of the grade to be changed."
1825 INPUT c
1835 LET v=c
1840 CLS
1845 PRINT "Enter the score you wish the ";g(n,v);" to be changed to"
1850 INPUT l
1852 CLS
1855 LET g(n,v)=l
1860 PRINT "Grade ";v;" is now ";g(n,v)
1865 PRINT
1875 GO SUB 8000
4000 CLS : PRINT : PRINT "TOTALING GRADES . . ."
4003 DIM m$(41)
4005 FOR n=1 TO x
4010 LET t=0
4020 FOR v=1 TO w
4030 LET t=g(n,v)+t
4040 NEXT v
4060 LET g(n,v)=t
4070 NEXT n
4075 PRINT
4077 PRINT "S O R T I N G G R A D E S . ."
4080 LET ch=0
4090 FOR n=1 TO x
5000 IF g(n,v)<g(n+1,v) THEN LET ch=1
5010 IF g(n,v)<=g(n+1,v) THEN LET mid=g(n,v)
5020 IF g(n,v)<=g(n+1,v) THEN LET g(n,v)=g(n+1,v)
5030 IF g(n,v)<=g(n+1,v) THEN LET g(n+1,v)=mid
5040 NEXT n
5050 IF ch=1 THEN GO TO 4080
5052 PRINT : PRINT
5060 FOR n=1 TO x
5080 PRINT g(n,v)
5090 NEXT n
5095 PRINT
6000 GO SUB 8000
6999 STOP
7000 FOR i=0 TO 31: PRINT INVERSE 1;"-";: NEXT i
7010 PRINT : PRINT
7020 RETURN
8000 PRINT " "; INVERSE 1;"ENTER 'C' TO RETURN TO MENU."
8010 INPUT r$
8020 CLS
8030 GO TO 19
8050 RETURN
9999 CLEAR : CLS : SAVE "gradebook" LINE 1: BEEP 1,32: PRINT "Rewind to VERIFY.": VERIFY "": PRINT FLASH 1;" V E R I F I E D ": BEEP .2,30