10 open "R",#1,"INVENTORY.DAT",43 20 field #1,1 as f$,30 as d$,4 as q$,4 as r$,4 as p$ 25 print:print "INVENTORY MANAGEMENT PROGRAM" 30 print:print "FUNCTIONS:":print 40 print 1,"INITIALIZE FILE" 50 print 2,"CREATE A NEW ENTRY" 60 print 3,"DISPLAY INVENTORY FOR ONE PART" 70 print 4,"ADD TO STOCK" 80 print 5,"SUBTRACT FROM STOCK" 90 print 6,"DISPLAY ALL ITEMS BELOW REORDER LEVEL" 95 print 7,"QUIT" 100 print:input "FUNCTION";function 110 if (function<1) or (function>7) then print "BAD FUNCTION NUMBER":goto 30 115 if function=7 then print "DONE":end 120 on function gosub 660,140,280,370,450,570 130 goto 100 140 rem BUILD NEW ENTRY 150 gosub 630 160 if asc(f$)<>255 then input "OVERWRITE";a$:if a$<>"Y" then return 170 lset f$=chr$(0) 180 input "DESCRIPTION";desc$ 190 lset d$=desc$ 200 input "QUANTITY IN STOCK";q% 210 lset q$=mki$(q%) 220 input "REORDER LEVEL";r% 230 lset r$=mki$(r%) 240 input "UNIT PRICE";p 250 lset p$=mks$(p) 260 put #1,part% 270 return 280 rem DISPLAY ENTRY 290 gosub 630 300 if asc(f$)=255 then print "NULL ENTRY":return 310 print using "PART NUMBER ###";part% 320 print d$ 330 print using "QUANTITY ON HAND #####";cvi(q$) 340 print using "REORDER LEVEL #####";cvi(r$) 350 print using "UNIT PRICE $$##.##";cvs(p$) 360 return 370 rem ADD TO STOCK 380 gosub 630 390 if asc(f$)=255 then print "NULL ENTRY":return 400 print d$:input "QUANTITY TO ADD";a% 410 q%=cvi(q$)+a% 420 lset q$=mki$(q%) 430 put #1,part% 440 return 450 rem REMOVE FROM STOCK 460 gosub 630 470 if asc(f$)=255 then print "NULL ENTRY":return 480 print d$ 490 input "QUANTITY TO SUBTRACT";s% 500 q%=cvi(q$) 510 if (q%-s%)<0 then print "ONLY";q%;"IN STOCK":goto 490 520 q%=q%-s% 530 if q%<=cvi(r$) then print "QUANTITY NOW";q%;"REORDER LEVEL";cvi(r$) 540 lset q$=mki$(q%) 550 put #1,part% 560 return 570 rem DISPLAY ITEMS BELOW REORDER LEVEL4 580 for i=1 to 100 590 get #1,i 600 if cvi(q$)100) then print "BAD PART NUMBER":goto 630 else get #1,part%:return 650 end 660 rem INITIALIZE FILE 670 input "ARE YOU SURE";b$:if b$<>"Y" then return 680 lset f$=chr$(255) 690 for i=1 to 100 700 put #1,i 710 next i 720 return