726 LOCATE 6,15:PRINT "Printer (EPSON MX-80 or compatible), Monitor":LOCATE 7,15:PRINT "(monochrome or color). If your system is IBM":LOCATE 8,15:PRINT "compatible, NUTRIENT may also run."
727 LOCATE 9,12:PRINT "2. FOODFILE - This is the main data file. A print-":LOCATE 10,15:PRINT "out of FOODFILE is necessary. Access it from"
728 LOCATE 11,15:PRINT "the Main Menu, selection 5 or 6.":LOCATE 12,12:PRINT "3. PROMPTS - There will be a prompt line at the":LOCATE 13,15:PRINT "bottom of various screens (F1 HELP, etc.). Use"
729 LOCATE 14,15:PRINT "the function keys for your control.":LOCATE 15,12:PRINT "4. READNUT.DOC - This is a text/documentation file.":LOCATE 16,15:PRINT "Please read for more detailed instruction."
730 LOCATE 17,12:PRINT "5. INPUT - Two types of data are used:":LOCATE 18,15:PRINT " i. Personal Data":LOCATE 19,15:PRINT " ii. Food & Quantity Data":LOCATE 20,15:PRINT "DO NOT WRITE PROTECT DATA DISK."
731 LOCATE 21,12:PRINT "6. HELP - to access help routines, press key: F1":LOCATE 22,12:PRINT "7. PRINT THIS SCREEN - by pressing keys: Shft-PrtSc"
732 LOCATE 25,22:PRINT "Press space bar to continue ...";
735 SPC$=INKEY$:IF SPC$="" THEN 735
940 COMMON Z%,MAX%,MNR%,ANR%,F$,DRV$,KY$,H$
941 IF Z%=1 THEN Z%=0:ERASE PER$,PLB,RF%,FD$,UNIT$,QTY,NUT,DAY,DAYS,AVG,PCT,P%,C%,HILO%,PS%,CT% ELSE IF Z%=2 THEN Z%=0:ERASE DAT$,PO%,CO% ELSE IF Z%=4 THEN Z%=0:ERASE DI$,P%,C% ELSE Z%=0
1023 AGE=VAL(PER$(4)):LOCATE 10,1:PRINT "SEX (M or F): ";:I%=5:C%=0:GOTO 1063
1025 SEX$=PER$(5):IF SEX$="F" AND AGE<11 OR SEX$="M" THEN Y%=11:GOTO 1035 ELSE LOCATE 11,1:PRINT "PREGNANT, LACTATING, BOTH or NO (P, L, B or N): ";:I%=6:C%=0:GOTO 1063
1027 PREG$=PER$(6):IF PREG$="N" THEN Y%=12:ELSE IF PREG$="B" THEN LOCATE 12,1:PRINT " No. of pregnant weeks: ";:I%=7:C%=0:GOTO 1063
1029 IF PREG$="B" THEN PW=VAL(PER$(7)):LOCATE 13,1:PRINT " No. of lactating months: ";:I%=8:C%=0:GOTO 1063
1031 IF PREG$="B" THEN Y%=14:LM=VAL(PER$(8)):ELSE IF PREG$="P" THEN Y%=13:LOCATE 12,1:PRINT " No. of pregnant weeks: ";:I%=9:C%=0:GOTO 1063
1033 IF PREG$="P" THEN PW=VAL(PER$(9)):ELSE IF PREG$="L" THEN Y%=13:LOCATE 12,1:PRINT " No. of lactating months: ";:I%=10:C%=0:GOTO 1063
1075 I%=I%-1:IF PER$(I%)<>"" THEN PER$(I%)="":GOTO 1076 ELSE GOTO 1075
1076 ON I% GOTO 1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037,1039,1041,1042
1077 IF SEX$="M" AND AGE<25 OR AGE>59 THEN 1100 ELSE IF SEX$="M" AND AGE=>25 AND AGE<=59 THEN IF HT<62 OR HT>76 THEN 1100 ELSE GOTO 1080
1079 IF PREG$="P" OR PREG$="B" THEN 1305 ELSE IF SEX$="F" AND AGE<25 OR AGE>59 THEN 1105 ELSE IF SEX$="F" AND AGE=>25 AND AGE<=59 THEN IF HT<58 OR HT>72 THEN 1105 ELSE GOTO 1090
1080 IF SEX$="M" THEN HT=HT+1:R%=0:FOR I%=62 TO 76:R%=R%+1:IF (HT>=I%) AND (HT<I%+1) THEN RM%=R% ELSE NEXT
1090 IF SEX$="F" THEN HT=HT+1:R%=15:FOR I%=58 TO 72:R%=R%+1:IF (HT>=I%) AND (HT<I%+1) THEN RM%=R% ELSE NEXT
1095 OPEN "METRO.DAT" AS #2 LEN=23:FIELD #2, 23 AS M$:GET #2, RM%:CLOSE #2:IF SML$="S" THEN WTRNG$=MID$(M$,3,7) ELSE IF SML$="M" THEN WTRNG$=MID$(M$,10,7) ELSE WTRNG$=MID$(M$,17,7)
1100 IF SEX$="M" AND AGE=>19 THEN IBW1=HT2*22.4+1:IBW=IBW1*2.2:GOTO 1305
1105 IF SEX$="F" AND AGE=>19 THEN IF PREG$="N" OR PREG$="L" THEN IBW1=HT2*20.9+0.45:IBW=IBW1*2.2:GOTO 1305
1125 IF AGE=>19 THEN 1305 ELSE IF (AGE>0) AND (AGE<0.25) THEN RC%=1:GOTO 1150 ELSE IF (AGE>=0.25) AND (AGE<0.5) THEN RC%=2:GOTO 1150 ELSE IF (AGE>=0.5) AND (AGE<0.75) THEN RC%=3:GOTO 1150
1130 IF (AGE>=0.75) AND (AGE<1) THEN RC%=4:GOTO 1150 ELSE IF (AGE>=1) AND (AGE<1.5) THEN RC%=5:GOTO 1150 ELSE IF (AGE>=1.5) AND (AGE<2) THEN RC%=6
1140 R%=6:FOR I%=2 TO 18:R%=R%+1:IF (AGE>=I%) AND (AGE<I%+1) THEN RC%=R%:GOTO 1150 ELSE NEXT
1150 OPEN "CHILD.DAT" AS #2 LEN=66:FIELD #2, 66 AS C$:GET #2, RC%:CLOSE #2
1155 IF SEX$<>"M" THEN 1174 ELSE IF WT1>VAL(MID$(C$,17,5)) THEN WTP$=">95th" ELSE IF WT1>=VAL(MID$(C$,12,5)) AND WT1<VAL(MID$(C$,17,5)) THEN WTP=(WT1-VAL(MID$(C$,12,5)))/(VAL(MID$(C$,17,5))-VAL(MID$(C$,12,5)))*45+50:WTP$=STR$(INT(WTP)):ELSE
1160 IF WT1>=VAL(MID$(C$,7,5)) AND WT1<VAL(MID$(C$,12,5)) THEN WTP=(WT1-VAL(MID$(C$,7,5)))/(VAL(MID$(C$,12,5))-VAL(MID$(C$,7,5)))*45+5:WTP$=STR$(INT(WTP)):ELSE IF WT1<VAL(MID$(C$,7,5)) THEN WTP$="<5th"
1165 IF SEX$="M" AND HT1>VAL(MID$(C$,32,5)) THEN HTP$=">95th" ELSE IF HT1>=VAL(MID$(C$,27,5)) AND HT1<VAL(MID$(C$,32,5)) THEN HTP=(HT1-VAL(MID$(C$,27,5)))/(VAL(MID$(C$,32,5))-VAL(MID$(C$,27,5)))*45+50:HTP$=STR$(INT(HTP)):ELSE
1170 IF HT1>=VAL(MID$(C$,22,5)) AND HT1<VAL(MID$(C$,27,5)) THEN HTP=(HT1-VAL(MID$(C$,22,5)))/(VAL(MID$(C$,27,5))-VAL(MID$(C$,22,5)))*45+5:HTP$=STR$(INT(HTP)):ELSE IF HT1<VAL(MID$(C$,22,5)) THEN HTP$="<5th"
1174 IF SEX$="F" AND PREG$="P" OR PREG$="B" THEN GOTO 1305 ELSE IF SEX$="M" THEN 1460
1175 IF SEX$="F" AND WT1>=VAL(MID$(C$,47,5)) THEN WTP$=">95th" ELSE IF WT1>=VAL(MID$(C$,42,5)) AND WT1<VAL(MID$(C$,47,5)) THEN WTP=(WT1-VAL(MID$(C$,42,5)))/(VAL(MID$(C$,47,5))-VAL(MID$(C$,42,5)))*45+50:WTP$=STR$(INT(WTP)):ELSE
1180 IF WT1>VAL(MID$(C$,37,5)) AND WT1<VAL(MID$(C$,42,5)) THEN WTP=(WT1-VAL(MID$(C$,37,5)))/(VAL(MID$(C$,42,5))-VAL(MID$(C$,37,5)))*45+5:WTP$=STR$(INT(WTP)):ELSE IF WT1<VAL(MID$(C$,37,5)) THEN WTP$="<5th"
1185 IF SEX$="F" AND HT1>=VAL(MID$(C$,62,5)) THEN HTP$=">95th" ELSE IF HT1>=VAL(MID$(C$,57,5)) AND HT1<VAL(MID$(C$,62,5)) THEN HTP=(HT1-VAL(MID$(C$,57,5)))/(VAL(MID$(C$,62,5))-VAL(MID$(C$,57,5)))*45+50:HTP$=STR$(INT(HTP)) ELSE
1190 IF HT1>=VAL(MID$(C$,52,5)) AND HT1<VAL(MID$(C$,57,5)) THEN HTP=(HT1-VAL(MID$(C$,52,5)))/(VAL(MID$(C$,57,5))-VAL(MID$(C$,52,5)))*45+5:HTP$=STR$(INT(HTP)):ELSE IF HT1<VAL(MID$(C$,52,5)) THEN HTP$="<5th"
1305 IF SEX$<>"F" OR SEX$="F" AND AGE<11 THEN 1460 ELSE
1307 IF (AGE>=19) AND (AGE<23) THEN RR%=14:RE%=14:GOTO 1315 ELSE IF (AGE>=15) AND (AGE<19) THEN RR%=13:RE%=13:GOTO 1315 ELSE IF (AGE>=23) AND (AGE<51) THEN RR%=15:RE%=15:GOTO 1315
1310 IF (AGE>=11) AND (AGE<15) THEN RR%=12:RE%=12:GOTO 1315 ELSE IF (AGE>=51) AND (AGE<76) THEN RR%=16:RE%=16:GOTO 1315 ELSE IF (AGE>=76) THEN RR%=17:RE%=17
1315 IF PREG$="N" OR PREG$="" THEN GOTO 1510
1320 OPEN "ENERGY.DAT" AS #2 LEN = 14:FIELD #2, 14 AS E$:GET #2, RE%:CLOSE #2
1325 IF PREG$="P" THEN PKCAL=VAL(MID$(E$,12,3))*WT1+300:PKCAL1=VAL(MID$(E$,12,3))*(PWT/2.2)+300 ELSE IF PREG$="L" THEN LKCAL=VAL(MID$(E$,12,3))*WT1+500 ELSE PLKCAL=VAL(MID$(E$,12,3))*WT1+800
1335 OPEN "RDA.DAT" AS #2 LEN = 86:FIELD #2, 86 AS R$:GET #2, RR%:CLOSE #2
1340 IF PREG$<>"P" THEN GOTO 1360 ELSE PLB(3)=VAL(MID$(R$,12,3))*WT1+30:PLB(21)=VAL(MID$(R$,15,4))+1000:D=VAL(MID$(R$,19,3))+200:PLB(22)=VAL(MID$(R$,22,3))+3
1360 IF PREG$<>"L" THEN GOTO 1385 ELSE PLB(3)=VAL(MID$(R$,12,3))*WT1+20:PLB(21)=VAL(MID$(R$,15,4))+2000:D=VAL(MID$(R$,19,3))+200:PLB(22)=VAL(MID$(R$,22,3))+4.5
1385 IF PREG$<>"B" THEN GOTO 1565 ELSE PLB(3)=VAL(MID$(R$,12,3))*WT1+50:PLB(21)=VAL(MID$(R$,15,4))+3000:D=VAL(MID$(R$,19,3))+400:PLB(22)=VAL(MID$(R$,22,3))+7.5
1460 IF (AGE>=23) AND (AGE<50) THEN RR%=9:RE%=9:GOTO 1510 ELSE IF (AGE>=19) AND (AGE<23) THEN RR%=8:RE%=8:GOTO 1510 ELSE IF (AGE>=15) AND (AGE<19) THEN RR%=7:RE%=7:GOTO 1510
1470 IF (AGE>=51) AND (AGE<76) THEN RR%=10:RE%=10:GOTO 1510 ELSE IF (AGE>=11) AND (AGE<15) THEN RR%=6:RE%=6:GOTO 1510 ELSE IF (AGE>=76) THEN RR%=11:RE%=11:GOTO 1510
1480 IF (AGE>=7) AND (AGE<11) THEN RR%=5:RE%=5:GOTO 1510 ELSE IF (AGE>=4) AND (AGE<7) THEN RR%=4:RE%=4:GOTO 1510 ELSE IF (AGE>=1) AND (AGE<4) THEN RR%=3:RE%=3:GOTO 1510
1490 IF (AGE>=0.5) AND (AGE<1) THEN RR%=2:RE%=2:GOTO 1510 ELSE IF (AGE>0) AND (AGE<0.5) THEN RR%=1:RE%=1
1510 IF AGE <19 GOTO 1550 ELSE IF SEX$="F" AND AGE>=19 THEN IF PREG$="N" THEN SS=HT1/(IBW1^0.3333):BMR=65.8*(IBW1^0.75)*(1+0.004*(30-AGE)+0.018*(SS-42.1)) ELSE IF SEX$="F" AND PREG$<>"N" THEN 1565
1515 IF SEX$="M" AND AGE>=19 THEN SS=HT1/(IBW1^0.3333):BMR=71.2*(IBW1^0.75)*(1+0.004*(30-AGE)+0.01*(SS-43.4))
1540 LOCATE 25,1:COLOR 0,15:PRINT "F1";:COLOR 7,0:PRINT " HELP";:LOCATE 11,1,1:PRINT "Choose a number ";:C$="":WHILE C$="":C$=INKEY$:WEND
1543 IF VAL(C$)<1 OR VAL(C$)>4 THEN 1540 ELSE IF VAL(C$)=2 THEN ENERGY=BMR*1.5 ELSE IF VAL(C$)=3 THEN ENERGY=BMR*1.75 ELSE IF VAL(C$)=1 THEN ENERGY=BMR*1.3 ELSE ENERGY=BMR*2
1545 GOTO 1565
1550 OPEN "ENERGY.DAT" AS #2 LEN=14:FIELD #2, 14 AS E$:GET #2, RE%:CLOSE #2:ENERGY=VAL(MID$(E$,12,3))*WT1
1567 FOR I%=1 TO 27:READ P%(I%),C%(I%):NEXT:DATA 32,4,36,4,40,3,43,3,46,3,49,3,52,4,56,3,59,3,62,4,66,4,70,4,74,3,77,3,80,3,83,3,86,3,89,3,92,4,96,3,99,5,104,3,107,3,110,3,113,3,116,3,119,3
1569 RESTORE 1570
1570 FOR I%=1 TO 27:READ PS%(I%),CT%(I%):NEXT:DATA 0,0,0,0,12,3,0,0,0,0,0,0,44,4,55,2,52,3,48,4,78,9,69,9,57,2,25,2,27,3,30,3,33,2,35,3,38,3,41,3,15,4,22,3,0,0,0,0,0,0,0,0,0,0
1585 LOCATE 3,1,1:INPUT "Number of days to analyze(1 to 3)? ",DAY%:IF (DAY%<1) OR (DAY%>3) THEN PRINT "Choose a number between 1 & 3, please":INPUT "Number of (Food Intake) days to analyze? ",DAY%
1587 FOR Y%=1 TO 7:LOCATE Y%,1:PRINT SPACE$(40);:NEXT
1730 IF SEX$="F" AND PREG$="P" OR PREG$="L" OR PREG$="B" THEN GOTO 1780 ELSE IF AVG(2)<(ENERGY-500) THEN HILO%(2)=-1 ELSE IF AVG(2)>(ENERGY+500) THEN HILO%(2)=1
1735 IF AGE<19 THEN IF (AVG(3)/WT1)<(0.8*VAL(MID$(R$,12,3))) THEN HILO%(3)=-1
1737 IF AGE=>19 THEN IF (AVG(3)/IBW1)<(0.8*VAL(MID$(R$,12,3))) THEN HILO%(3)=-1
1740 IF PFAT>35 THEN HILO%(4)=1
1745 FOR I%=7 TO 10:IF PCT(I%)<70 THEN HILO%(I%)=-1 ELSE IF PCT(I%)>300 THEN HILO%(I%)=1
1747 NEXT
1750 IF MID$(R$,81,1)="-" THEN IF AVG(11)<VAL(MID$(R$,78,3)) THEN HILO%(11)=-1 ELSE IF MID$(R$,81,1)="-" THEN IF AVG(11)>(3*VAL(MID$(R$,82,4))) THEN HILO%(11)=1 ELSE
1755 IF MID$(R$,82,1)="-" THEN IF AVG(11)<VAL(MID$(R$,78,4)) THEN HILO%(11)=-1 ELSE IF AVG(11)>(3*VAL(MID$(R$,83,4))) THEN HILO%(11)=1
1760 IF MID$(R$,72,1)="-" THEN IF AVG(12)>(2*VAL(MID$(R$,73,4))) THEN HILO%(12)=1 ELSE IF MID$(R$,73,1)="-" THEN IF AVG(12)>(2*VAL(MID$(R$,74,4))) THEN HILO%(12)=1
1765 FOR I%=13 TO 20:IF PCT(I%)<70 THEN HILO%(I%)=-1 ELSE IF PCT(I%)>1000 THEN HILO%(I%)=1
1767 NEXT
1770 FOR I%=21 TO 22: IF PCT(I%)<70 THEN HILO%(I%)=-1 ELSE IF PCT(I%)>300 THEN HILO%(I%)=1
1772 NEXT
1775 IF PCT(26)>100 THEN HILO%(26)=1:GOTO 1830 ELSE GOTO 1830
1780 IF (AVG(2)<PKCAL-500) OR (AVG(2)<LKCAL-500) OR (AVG(2)<PLKCAL-500) THEN HILO%(2)=-1 ELSE IF (AVG(2)>PKCAL+500) OR (AVG(2)>LKCAL+500) OR (AVG(2)>PLKCAL+500) THEN HILO%(2)=1
1785 IF PCT(3)<70 THEN HILO%(3)=-1:GOTO 1740:ELSE GOTO 1740
1804 IF SEX$="M" OR SEX$="F" AND PREG$="N" OR PREG$="" THEN 1811
1805 IF PREG$="L" THEN WRITE #2,LM:GOTO 1811
1806 IF PREG$="P" OR PREG$="B" THEN WRITE #2,PW;WT;PPWT;PWT;HT:IF LM THEN WRITE #2,LM:GOTO 1814:ELSE GOTO 1814
1811 IF AGE=>19 THEN WRITE #2,WT;HT;SML$,C%:IF WTRNG$ <>"" THEN WRITE #2,WTRNG$ ELSE WRITE #2,IBW
1813 IF AGE<19 THEN WRITE #2,WT;HT;WTP$,HTP$
1814 WRITE #2,DAY%
1815 WRITE #2,DY$,Q%:FOR I%=1 TO Q%:IF RF%(D%,I%)=0 THEN 1820 ELSE WRITE #2,RF%(D%,I%);FD$(D%,I%),UNIT$(D%,I%),QTY(D%,I%):FOR J%=1 TO 27:WRITE #2,NUT(I%,J%):NEXT:NEXT
1820 WRITE #2,TDY$:FOR I%=1 TO 27:WRITE #2,DAY(D%,I%):NEXT:IF D%=DAY% THEN CLOSE #2:RETURN ELSE RETURN
1830 OPEN DRV$+NAMDAT$ FOR APPEND AS #2
1833 WRITE #2,AVG$:FOR I%=1 TO 27:WRITE #2,AVG(I%):NEXT
1835 WRITE #2,CAL$:IF PREG$="P" THEN WRITE #2,PKCAL ELSE IF PREG$="L" THEN WRITE #2,LKCAL ELSE IF PREG$="B" THEN WRITE #2,PLKCAL ELSE WRITE #2,ENERGY
1840 IF PREG$="P" OR PREG$="L" OR PREG$="B" THEN FOR I%=3 TO 22:WRITE #2,PLB(I%):NEXT:WRITE #2,K$,NA$ ELSE WRITE #2,R$
1845 WRITE #2,PCT$,PCT(2),PCT(3):FOR I%=7 TO 10:WRITE #2,PCT(I%):NEXT:FOR I%=13 TO 22:WRITE #2,PCT(I%):NEXT:WRITE #2,PCT(26)
1847 WRITE #2,PCHO,PPRO,PFAT,PALC,FACID,CA.P
1850 FOR I%=2 TO 22:WRITE #2,HILO%(I%):NEXT:WRITE #2,HILO%(26)
1860 CLOSE #2:GOTO 1007
2005 Z%=2:ZZ%=31:DIM DAT$(31),PO%(31),CO%(31):RESTORE 2006:FOR K%=1 TO 31:READ PO%(K%),CO%(K%):NEXT
2006 DATA 1,20,21,2,23,6,29,3,32,4,36,4,40,3,43,3,46,3,49,3,52,4,56,3,59,3,62,4,66,4,70,4,74,3,77,3,80,3,83,3,86,3,89,3,92,4,96,3,99,5,104,3,107,3,110,3,113,3,116,3,119,3
2008 CLS:FOR I%=1 TO 31:DAT$(I%)="":NEXT
2010 GET #1,1:IF VAL(F$)<MNR% THEN GOTO 2015 ELSE LOCATE 20,12:PRINT "FOODFILE IS FULL":LOCATE 21,11:PRINT "Press F1 for HELP":ON KEY(1) GOSUB 8010:KEY(1) ON:F1$=INKEY$:IF F1$="" THEN 2010
2020 ON KEY(1) GOSUB 8010:ON KEY(10) GOSUB 940:KEY(1) ON:KEY(10) ON
2030 LOCATE 4,1:PRINT "ENTER DATA WITHIN BRACKETS [ ]:":LOCATE 6,1:PRINT "Food Description [ ]":LOCATE 6,19,1:I%=1:L%=20:FD%=1:GOTO 2520
2040 I%=2:FD%=0:FD$=DAT$(1):GOSUB 10010:IF F%=1 THEN LOCATE 7,1:PRINT "[";FD$;"] has already been added";:FOR I%=1 TO 3000:NEXT:LOCATE 7,1:PRINT SPACE$(50);:DAT$(1)="":GOTO 2030
2100 LOCATE 22,1:PRINT "Ascorbic Acid (mg) [ ]":LOCATE 25,40:COLOR 0,15:PRINT "Press TAB to goto next data item";:COLOR 7,0
2110 IF I%=1 THEN L%=20:LOCATE 6,19+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=2 THEN L%=2:LOCATE 7,13+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=3 THEN L%=6:LOCATE 7,44+LEN(DAT$(I%)),1:GOTO 2520 ELSE
2120 IF I%=4 THEN L%=3:LOCATE 7,73+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=5 THEN L%=4:LOCATE 9,12+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=6 THEN L%=4:LOCATE 10,21+LEN(DAT$(I%)),1:GOTO 2520 ELSE
2130 IF I%=7 THEN L%=3:LOCATE 11,14+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=8 THEN L%=3:LOCATE 12,16+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=9 THEN L%=3:LOCATE 13,19+LEN(DAT$(I%)),1:GOTO 2520 ELSE
2140 IF I%=10 THEN L%=3:LOCATE 14,18+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=11 THEN L%=4:LOCATE 15,15+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=12 THEN L%=3:LOCATE 16,12+LEN(DAT$(I%)),1:GOTO 2520 ELSE
2150 IF I%=13 THEN L%=3:LOCATE 17,16+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=14 THEN L%=4:LOCATE 18,18+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=15 THEN L%=4:LOCATE 19,17+LEN(DAT$(I%)),1:GOTO 2520 ELSE
2160 IF I%=16 THEN L%=4:LOCATE 20,14+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=17 THEN L%=3:LOCATE 21,12+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=18 THEN L%=3:LOCATE 22,21+LEN(DAT$(I%)),1:GOTO 2520 ELSE
2170 IF I%=19 THEN L%=3:LOCATE 9,54+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=20 THEN L%=3:LOCATE 10,57+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=21 THEN L%=3:LOCATE 11,53+LEN(DAT$(I%)),1:GOTO 2520 ELSE
2180 IF I%=22 THEN L%=3:LOCATE 12,58+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=23 THEN L%=4:LOCATE 13,55+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=24 THEN L%=3:LOCATE 14,60+LEN(DAT$(I%)),1:GOTO 2520 ELSE
2190 IF I%=25 THEN L%=5:LOCATE 15,56+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=26 THEN L%=3:LOCATE 16,56+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=27 THEN L%=3:LOCATE 17,59+LEN(DAT$(I%)),1:GOTO 2520 ELSE
2200 IF I%=28 THEN L%=3:LOCATE 18,65+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=29 THEN L%=3:LOCATE 19,65+LEN(DAT$(I%)),1:GOTO 2520 ELSE IF I%=30 THEN L%=3:LOCATE 20,58+LEN(DAT$(I%)),1:GOTO 2520 ELSE
2210 IF I%=31 THEN L%=3: LOCATE 21,53+LEN(DAT$(I%)),1:GOTO 2520
2220 LOCATE 23,30:PRINT "Press ENTER if ok (press TAB to correct data)":LOCATE 23,74
2230 ANS$=INKEY$:IF ANS$="" THEN 2230 ELSE IF ANS$=CHR$(13) THEN GOTO 2235 ELSE IF ANS$=CHR$(9) THEN I%=1:GOTO 2110 ELSE BEEP:GOTO 2230
2235 IF DAT$(1)<>FD$ THEN FD$=DAT$(1):GOSUB 10010
2240 CLS:LOCATE 10,27,0:PRINT "SAVING YOUR DATA...":PC$="":FOR K%=1 TO 31:MID$(F$,PO%(K%),CO%(K%))=DAT$(K%):PC$=PC$+MID$(F$,PO%(K%),CO%(K%)):NEXT:LSET F$=PC$:PUT #1,RF%
2250 BEEP:LOCATE 10,49:PRINT "DATA SAVED":LOCATE 12,1:PRINT FD$:PRINT "FOOD NO. = ";RF%;" (Add Food Description and Food No. to FOODFILE printout)":GET #1,1:ANR%=VAL(F$)+1:PRINT #1,STR$(ANR%):PUT #1,1:LOCATE 16,27:PRINT "Press space bar to continue"
2260 C$=INKEY$:IF C$="" THEN 2260
2270 CLS:LOCATE 10,25:PRINT "ADD ANOTHER FOOD (Y or N)? ":C$="":WHILE C$="":C$=INKEY$:WEND:IF C$="Y" THEN 2008 ELSE GOTO 940
2520 A$=INKEY$:IF A$="" THEN 2520
2530 IF A$=CHR$(9) THEN I%=I%+1:IF I%>31 THEN 2220 ELSE GOTO 2110
2540 IF A$=CHR$(13) AND FD%=1 THEN 2040
2545 IF A$=CHR$(13) THEN BEEP:GOTO 2520
2550 IF A$=CHR$(8) THEN 2600
2555 IF A$=>CHR$(0)+CHR$(71) AND A$<=CHR$(0)+CHR$(83) THEN BEEP:GOTO 2520
2560 IF LEN(DAT$(I%))=L% THEN BEEP:GOTO 2520
2580 IF ASC(A$)>31 THEN PRINT A$;:DAT$(I%)=DAT$(I%)+A$:GOTO 2520
3015 ON KEY(1) GOSUB 8010:ON KEY(10) GOSUB 940:KEY(1) ON:KEY(10) ON
3020 REC$="":LOCATE 4,1,1:PRINT "Enter Food Number to Delete (0 to end)? ";
3021 RF$=INKEY$:IF RF$="" THEN 3021
3023 IF RF$=CHR$(13) THEN RF%=VAL(REC$):GOTO 3031
3025 IF RF$=CHR$(8) THEN 3030
3027 IF ASC(RF$)>47 AND ASC(RF$)<58 THEN PRINT RF$;:REC$=REC$+RF$:GOTO 3021:ELSE GOTO 3021
3030 IF LEN(REC$)=0 THEN BEEP:GOTO 3020:ELSE LOCATE CSRLIN,POS(0)-1:PRINT " ";:LOCATE CSRLIN,POS(0)-1:REC$=LEFT$(REC$,LEN(REC$)-1):GOTO 3021
3031 IF RF%=0 THEN 940
3035 IF RF%>MAX% THEN LOCATE 5,1:PRINT "Food Numbers are from 1 to ";MAX%;" - Try Again";:FOR X%=1 TO 3000:NEXT:LOCATE 4,1:PRINT SPACE$(158);:GOTO 3020 ELSE GET #1,RF%
3040 PRINT:IF LEFT$(F$,1)=" " THEN LOCATE 5,1:PRINT "FOOD NUMBER ";RF%;"'s record is empty - try again";:FOR X%=1 TO 3000:NEXT:LOCATE 4,1:PRINT SPACE$(158);:GOTO 3020
3045 IF YN$="Y" OR YN$="N" THEN FOR Y%=7 TO 9:LOCATE Y%,1:PRINT SPACE$(20):NEXT
3050 LOCATE 7,1:PRINT LEFT$(F$,20):INPUT "Delete (Y or N)? ",YN$:IF YN$<>"Y" AND YN$<>"N" THEN 3050
3060 IF YN$="Y" OR YN$="y" THEN LSET F$=" ":PUT #1,RF%:GET #1,1:ANR%=VAL(F$)-1:PRINT #1,STR$(ANR%):PUT #1,1:PRINT "** Deleted **":LOCATE 4,1:PRINT SPACE$(45);:GOTO 3020 ELSE PRINT "** NOT DELETED **":LOCATE 4,1:PRINT SPACE$(45);:GOTO 3020
4010 Z%=4:ZZ%=45:DIM DI$(31),P%(31),C%(31):RESTORE 4011:FOR I%=1 TO 31:READ P%(I%),C%(I%):NEXT
4011 DATA 1,20,21,2,23,6,29,3,32,4,36,4,40,3,43,3,46,3,49,3,52,4,56,3,59,3,62,4,66,4,70,4,74,3,77,3,80,3,83,3,86,3,89,3,92,4,96,3,99,5,104,3,107,3,110,3,113,3,116,3,119,3
4021 ON KEY(1) GOSUB 8010:ON KEY(10) GOSUB 940:KEY(1) ON:KEY(10) ON
4025 REC$="":LOCATE 3,1,1:PRINT "Enter Food Number to Change (0 to end)? ";
4027 RF$=INKEY$:IF RF$="" THEN 4027
4029 IF RF$=CHR$(13) THEN RF%=VAL(REC$):GOTO 4037
4031 IF RF$=CHR$(8) THEN 4035
4033 IF ASC(RF$)>47 AND ASC(RF$)<58 THEN PRINT RF$;:REC$=REC$+RF$:GOTO 4027:ELSE GOTO 4027
4035 IF LEN(REC$)=0 THEN BEEP:GOTO 4025:ELSE LOCATE CSRLIN,POS(0)-1:PRINT " ";:LOCATE CSRLIN,POS(0)-1:REC$=LEFT$(REC$,LEN(REC$)-1):GOTO 4027
4037 IF RF%=0 THEN 940
4039 IF RF%>MAX% THEN LOCATE 4,1:PRINT "Food Numbers are from 1 to ";MAX%;" - Try Again";:FOR X%=1 TO 3000:NEXT:LOCATE 3,1:PRINT SPACE$(130);:GOTO 4025 ELSE GET #1,RF%
4040 IF LEFT$(F$,1)=" " THEN LOCATE 4,1:PRINT "Food record is empty - try again";:FOR X%=1 TO 3000:NEXT:LOCATE 3,1:PRINT SPACE$(130);:GOTO 4025 ELSE LOCATE 3,1:PRINT SPACE$(43);
4045 LOCATE 4,1:PRINT "CHANGE DATA WITHIN BRACKETS [ ]:":LOCATE 6,1:PRINT "Food Description [ ]":I%=1:FD%=0
4160 LOCATE 22,21,1:PRINT MID$(F$,77,3):FD$=LEFT$(F$,20):FOR I%=1 TO 31:DI$(I%)=MID$(F$,P%(I%),C%(I%)):NEXT:I%=1
4170 IF I%=1 THEN L%=20:LOCATE 6,19+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=2 THEN L%=2: LOCATE 7,13+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=3 THEN L%=6: LOCATE 7,44+LEN(DI$(I%)),1:GOTO 4510 ELSE
4180 IF I%=4 THEN L%=3: LOCATE 7,73+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=5 THEN L%=4: LOCATE 9,12+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=6 THEN L%=4: LOCATE 10,21+LEN(DI$(I%)),1:GOTO 4510 ELSE
4190 IF I%=7 THEN L%=3: LOCATE 11,14+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=8 THEN L%=3: LOCATE 12,16+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=9 THEN L%=3: LOCATE 13,19+LEN(DI$(I%)),1:GOTO 4510 ELSE
4200 IF I%=10 THEN L%=3: LOCATE 14,18+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=11 THEN L%=4: LOCATE 15,15+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=12 THEN L%=3: LOCATE 16,12+LEN(DI$(I%)),1:GOTO 4510 ELSE
4210 IF I%=13 THEN L%=3: LOCATE 17,16+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=14 THEN L%=4: LOCATE 18,18+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=15 THEN L%=4: LOCATE 19,17+LEN(DI$(I%)),1:GOTO 4510 ELSE
4220 IF I%=16 THEN L%=4: LOCATE 20,14+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=17 THEN L%=3: LOCATE 21,12+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=18 THEN L%=3: LOCATE 22,21+LEN(DI$(I%)),1:GOTO 4510 ELSE
4230 IF I%=19 THEN L%=3: LOCATE 9,54+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=20 THEN L%=3: LOCATE 10,57+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=21 THEN L%=3: LOCATE 11,53+LEN(DI$(I%)),1:GOTO 4510 ELSE
4240 IF I%=22 THEN L%=3: LOCATE 12,58+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=23 THEN L%=4: LOCATE 13,55+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=24 THEN L%=3: LOCATE 14,60+LEN(DI$(I%)),1:GOTO 4510 ELSE
4250 IF I%=25 THEN L%=5: LOCATE 15,56+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=26 THEN L%=3: LOCATE 16,56+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=27 THEN L%=3: LOCATE 17,59+LEN(DI$(I%)),1:GOTO 4510 ELSE
4260 IF I%=28 THEN L%=3: LOCATE 18,65+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=29 THEN L%=3: LOCATE 19,65+LEN(DI$(I%)),1:GOTO 4510 ELSE IF I%=30 THEN L%=3: LOCATE 20,58+LEN(DI$(I%)),1:GOTO 4510 ELSE
4270 IF I%=31 THEN L%=3: LOCATE 21,53+LEN(DI$(I%)),1:GOTO 4510
4280 LOCATE 23,30:PRINT "Press ENTER if ok (press TAB to correct data)":LOCATE 23,74
4290 ANS$=INKEY$:IF ANS$="" THEN 4290 ELSE IF ANS$=CHR$(13) THEN 4295 ELSE IF ANS$=CHR$(9) THEN I%=1:GOTO 4170 ELSE BEEP:GOTO 4290
4295 LSET F$=" ":PUT #1,RF%:IF DI$(1)=FD$ THEN 4300 ELSE FD%=1:FD$=DI$(1):GOSUB 10010:IF F%=0 THEN GOTO 4300 ELSE
4296 IF F%=1 THEN PRINT "[";FD$;"] already exists":PRINT "Make Food Description unique":LOCATE 6,19+LEN(DI$(1)),1:GOTO 4510
4300 CLS:LOCATE 10,27,0:PRINT "SAVING YOUR DATA ...":PC$="":FOR I%=1 TO 31:MID$(F$,P%(I%),C%(I%))=DI$(I%):PC$=PC$+MID$(F$,P%(I%),C%(I%)):NEXT:LSET F$=PC$:PUT #1,RF%
4310 BEEP:LOCATE 10,49:PRINT "DATA SAVED":LOCATE 12,1:PRINT FD$:PRINT "FOOD NO. = ";RF%;" (If either changed, add Food Description and Food No. to FOODFILE printout)":LOCATE 16,27:PRINT "Press space bar to continue"
4320 C$=INKEY$:IF C$="" THEN 4320
4330 CLS:LOCATE 10,27:PRINT "CHANGE ANOTHER FOOD (Y or N)?":C$="":WHILE C$="":C$=INKEY$:WEND:IF C$="Y" THEN 4020 ELSE 940
4510 A$=INKEY$:IF A$="" THEN 4510
4530 IF A$=CHR$(9) THEN I%=I%+1:IF I%>31 THEN 4280 ELSE GOTO 4170
4540 IF A$=CHR$(13) AND FD%=1 THEN 4295
4545 IF A$=CHR$(13) THEN BEEP:GOTO 4510
4550 IF A$=CHR$(8) THEN 4600
4555 IF A$=>CHR$(0)+CHR$(71) AND A$<=CHR$(0)+CHR$(83) THEN BEEP:GOTO 4510
4560 IF LEN(DI$(I%))=L% THEN BEEP:GOTO 4510
4580 IF ASC(A$)>31 THEN PRINT A$;:DI$(I%)=DI$(I%)+A$:GOTO 4510:ELSE GOTO 4510