Quiz Maker
1 REM %Q%U%I%Z% % % % % % % % % % % % % % % % % % %
2 REM %D%A%L%E% %F%.% %L%I%P%I%N%S%K%I% % % % % % %
3 REM %S%Y%N%T%A%X% %Q%U%A%R%T%E%R%L%Y% % % % % % %
4 REM %S%P%R%I%N%G% %1%9%8%3% % % % % % % % % % % %
10 LET S=0
20 FAST
30 LET B$="\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''% %E%N%T%E%R% %A%N%S%W%E%R% "
40 CLS
50 PRINT "WHAT TYPE OF QUIZ DO YOU WISH TOHAVE?",,"1 = MULTIPLE CHOICE","2 = TRUE OR FALSE","3 = DIRECT ANSWER",B$
60 INPUT C$
70 IF CODE C$<=28 OR CODE C$>=32 THEN GOTO 40
80 CLS
90 PRINT "HOW MANY QUESTIONS DO YOU WISH TO ASK?",,B$
100 INPUT A
110 CLS
120 PRINT "DO YOU WISH TO EXPLAIN THE","ANSWER IF IT IS WRONG?","1 = YES",,"0 = NO",,B$
130 INPUT D$
140 IF CODE D$<=27 OR CODE D$>=30 THEN GOTO 110
160 IF D$="0" THEN LET H$=" "
170 CLS
180 LET D=4
190 IF C$="2" OR C$="3" THEN GOTO 230
200 PRINT "WHAT IS THE MAXIMUM NUMBER OF","CHOICES PER QUESTION?","LIMIT OF 9",,B$
210 INPUT B
215 IF B>=10 THEN GOTO 170
220 LET D=B+4
230 LET E=(PEEK 16386-PEEK 16412+256*(PEEK 16387-PEEK 16413)-50)-1300-(D*(A+1)*5)
240 CLS
250 PRINT "YOU WILL HAVE ";A;" QUESTIONS","WITH A TOTAL CHARACTER INPUT OF",E;TAB 0;"AN AVERAGE OF ";E/A,"CHARACTERS PER QUESTION";TAB 0;"IF THIS IS OKAY ENTER 0","IF NOT ENTER 1",,B$
260 INPUT E$
270 IF CODE E$<=27 OR CODE E$>=29 THEN GOTO 40
280 DIM A(A+1,D)
290 DIM A$(E)
300 LET A(1,1)=1
320 FOR F=1 TO A
330 CLS
340 PRINT "WHAT IS QUESTION NUMBER ";F;"?",B$
350 INPUT E$
360 PRINT E$;TAB 0;"INPUT 0 IF THIS IS CORRECT","INPUT 1 IF NOT CORRECT",B$
370 INPUT F$
380 IF CODE F$<=27 OR CODE F$>=29 THEN GOTO 330
390 LET H=LEN E$
400 LET A(F,2)=A(F,1)+H
410 LET A$(A(F,1) TO A(F,1)+H)=E$
420 CLS
430 PRINT "WHAT IS THE ANSWER?"
440 IF C$="2" THEN PRINT "1 = TRUE",,"0 = FALSE"
450 PRINT B$
460 INPUT E$
465 CLS
470 PRINT E$;TAB 0;"INPUT 0 IF THIS IS CORRECT","INPUT 1 IF NOT CORRECT",B$
475 IF C$="2" AND E$="1" THEN PRINT AT 0,0;"1 = TRUE"
477 IF C$="2" AND E$="0" THEN PRINT AT 0,0;"0 = FALSE"
480 INPUT F$
490 IF CODE F$<=27 OR CODE F$>=29 THEN GOTO 420
495 IF C$="1" THEN LET E$=" = "+E$
500 LET H=LEN E$
510 LET A(F,3)=A(F,2)+H
520 LET A$(A(F,2) TO A(F,2)+H)=E$
530 IF CODE D$<=28 OR CODE D$>=3 THEN GOTO 600
540 CLS
550 PRINT "WHAT IS THE EXPLANATION","NO EXPLANATION INPUT A SPACE",B$
560 INPUT H$
565 CLS
570 PRINT H$;TAB 0;"INPUT 0 IF THIS IS CORRECT","INPUT 1 IF NOT CORRECT",B$
580 INPUT F$
590 IF CODE F$<=27 OR CODE F$>=29 THEN GOTO 540
600 LET H=LEN H$
610 LET A(F,4)=A(F,3)+H
620 LET A$(A(F,3) TO A(F,3)+H)=H$
630 IF CODE C$<=28 OR CODE C$>=30 THEN GOTO 750
640 FOR C=1 TO B
650 CLS
660 PRINT "WHAT IS THE NUMBER ";C;" CHOICE?","FOR NO CHOICE INPUT A SPACE",B$
670 INPUT E$
675 CLS
680 PRINT C;" = ";E$;TAB 0;"INPUT 0 IF THIS IS CORRECT","INPUT 1 IF NOT CORRECT",B$
690 INPUT F$
700 IF CODE F$<=27 OR CODE F$>=29 THEN GOTO 650
705 LET E$=CHR$ (C+28)+" = "+E$
710 LET H=LEN E$
720 LET A(F,4+C)=A(F,3+C)+H
730 LET A$(A(F,3+C) TO A(F,3+C)+H)=E$
735 IF A$(A(F,2)+1 TO A(F,3)-1)=E$(2 TO ) THEN LET A$(A(F,2) TO A(F,2))=CHR$ (C+28)
740 NEXT C
750 LET A(F+1,1)=A(F,D)
760 NEXT F
770 CLS
780 PRINT "WHAT IS THE TITLE OF THE QUIZ?",B$
790 INPUT I$
795 CLS
800 PRINT I$;TAB 0;"INPUT 0 IF THIS IS CORRECT","INPUT 1 IF NOT CORRECT",B$
810 INPUT F$
820 IF CODE F$<=27 OR CODE F$>=29 THEN GOTO 770
830 CLS
840 PRINT "WHAT IS YOUR NAME PLEASE?",B$
850 INPUT J$
860 CLS
870 PRINT "THANK YOU ";J$;TAB 0;"GET READY FOR YOUR QUIZ"
880 PAUSE 400
890 CLS
900 PRINT TAB 10;"% %Z%X%-%8%1% %Q%U%I%Z% ";TAB 0;I$;TAB 0;"TAKEN BY ";J$
910 PAUSE 400
920 FOR C=1 TO A
930 CLS
940 LET E$=A$(A(C,1) TO A(C,2)-1)
945 LET K$=A$(A(C,2) TO A(C,3)-1)
950 PRINT "QUESTION NUMBER ";C;TAB 0;E$;TAB 0;B$( TO 32)
955 IF C$="1" THEN LET K$=A$(A(C,2) TO A(C,2))
960 IF C$="1" THEN FOR I=4 TO D-1
970 IF C$="1" THEN PRINT A$(A(C,I) TO A(C,I+1)-1)
980 IF C$="1" THEN NEXT I
990 IF C$="2" THEN PRINT "1 = TRUE",,"0 = FALSE"
1000 PRINT B$
1010 INPUT F$
1020 IF K$=F$ THEN PRINT "% %V%E%R%Y% %G%O%O%D% %T%H%A%T% %I%S% %C%O%R%R%E%C%T% "
1030 IF K$=F$ THEN PAUSE 400
1040 IF K$=F$ THEN LET S=S+1
1050 IF K$=F$ THEN GOTO 1150
1060 PRINT "% %I% %A%M% %S%O%R%R%Y% %T%H%A%T% %I%S% %N%O%T% %C%O%R%R%E%C%T% "
1070 PAUSE 400
1080 CLS
1090 PRINT "THE CORRECT ANSWER IS";TAB 0;A$(A(C,2) TO A(C,3)-1)
1100 IF C$="2" AND K$="1" THEN PRINT AT 1,0;"1 = TRUE"
1110 IF C$="2" AND K$="0" THEN PRINT AT 1,0;"0 = FALSE"
1120 PRINT A$(A(C,3) TO A(C,4)-1)
1130 PRINT "PRESS % %E%N%T%E%R% TO CONTINUE",B$
1140 INPUT E$
1150 NEXT C
1160 CLS
1170 PRINT "QUIZ IS COMPLETE. THANK YOU",J$;TAB 0,,"YOUR SCORE IS ";S;" % %C%O%R%R%E%C%T% ","OUT OF A POSSIBLE ";A;" QUESTIONS.";TAB 0;"YOUR GRADE AVERAGE IS ",S/A*100;" PER CENT"
1180 PAUSE 400
1190 PRINT AT 15,0;"DO YOU WISH TO SAVE THIS PROGRAM1 = NO",,"0 = YES",,B$
1200 LET S=0
1210 INPUT F$
1220 IF CODE F$<=27 OR CODE F$>=29 THEN GOTO 830
1230 SAVE "QUIZ"
1240 GOTO 830
1250 CLEAR
1260 SAVE "1002%0"
1270 RUN