10 PRINTCHR$(147) 20 DIMI$(100),A(100):REM CHANGE THIS IF MORE THAN 100 ITEMS 30 L$="XMASLIST":REM NAME OF LIST FOR DISK SAVING AND LOADING 40 PRINT" GET EXISTING LIST FROM DISK? 50 [161]A$:[139]A$[179][177]"N"[167][139]A$[179][177]"Y"[167]50 60 [139]A$[178]"Y"[167][141]170:[143] GOES TO DISK-LOADING SUBROUTINE AT 170-230 70 [153]" PRESS ONLY RETURN TO STOP" 80 C[178]C[170]1:[143] C IS THE ITEM COUNTER WHICH INCREMENTS FOR EACH LOOP 90 [153]" ITEM NO."C;:[143] SEMICOLON ENSURES INPUT ? IMMEDIATELY FOLLOWS 100 I$(C)[178]"":[133]I$(C):[143] SET ITEM NAME TO NOTHING, THEN GET ITEM NAME 110 [139]I$(C)[178]""[167]C[178]C[171]1:[141]280:[128]:[143] USER PRESSED ONLY RETURN. PROGRAM 120 [143] EXITS LOOP AND GOES TO SAVE SUBROUTINE AT LINES 280-360 130 [153]" AMOUNT FOR ITEM NO."C; 140 [133]A(C):[143] GET ITEM COST 150 T[178]T[170]A(C):[143] KEEPS TRACK OF TOTAL $ SPENT SO FAR 160 [137]80:[143] PUTS PROGRAM INTO A LOOP. LINE 110 IS ONLY LOOP EXIT. 170 [153]" LOADING CHRISTMAS LIST. . . 180 OPEN1,8,0,L$:REM 1=FILE NO., 8=DISK DRIVE, 0=LOAD, L$=LIST NAME 190 INPUT#1,C:IFC=0THENEND:REM GETS ITEM COUNT C FROM FILE & ENDS IF C=0 200 INPUT#1,T:REM GETS TOTAL DOLLARS SPENT SO FAR FROM DISK FILE 1 210 FORX=1TOC:INPUT#1,I$(X):INPUT#1,A(X):NEXT:REM USES A FOR-NEXT LOOP TO GET 220 REM ITEM NAMES AND COSTS FROM FILE 1 ON DISK AND STORE THEM IN RAM 230 CLOSE1:REM ALWAYS CLOSE FILE AFTER A LOAD OR SAVE 240 PRINT"[147]":REM CLEAR SCREEN AND MOVE CURSOR DOWN ONE LINE 250 FORX=1TOC:PRINT" "I$(X),A(X):NEXT:REM PRINT ITEMS AND COSTS FROM RAM 260 PRINT" TOTAL SO FAR: $"T 270 RETURN:REM END OF LOADING AND SCREEN PRINTING SUBROUTINE 280 PRINT" TOTAL SO FAR: $"T:REM THIS LINE BEGINS DISK-SAVING SUBROUTINE 290 PRINT" SAVING CHRISTMAS LIST. . . 300 [159]15,8,15:[152]15,"S0:"L$:[143] ERASES OLD XMASLIST IF IT EXISTS 310 [159]1,8,1,L$:[143] 1=FILE NO., 8=DISK DRIVE, 1=SAVE, L$=LIST NAME 320 [152]1,C:[143] ITEM COUNT IS PUT IN FILE NO. 1 ON DISK 330 [152]1,T:[143] LIKEWISE TOTAL DOLLARS SPENT SO FAR 340 [129]X[178]1[164]C:[152]1,I$(X):[152]1,A(X):[130]:[143] USING ANOTHER FOR-NEXT LOOP 350 [143] TO PUT ITEM NAMES AND COSTS IN FILE 1 ON DISK 360 [160]1:[142]:[143] CLOSES FILE 1 AND ENDS SUBROUTINE