home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / eric.hdv / DIET2 / DIARY.BAS < prev    next >
BASIC Source File  |  2020-08-13  |  5KB  |  130 lines

  1. 1  DIM FC$(500),FD$(500),PO$(500),CA(500),FC(500),FA(500),SF(500),CH(500),SO(500),CB(500),FI(500),SU(500),PR(500)
  2. 2 VH = 20
  3. 5 D$ =  CHR$(4)
  4. 7 F$ = "FOODLIST.TXT"
  5. 8  PRINT "READING FOOD LIST..."
  6. 10  PRINT D$"OPEN "F$
  7. 20  PRINT D$"READ "F$
  8. 90 I = 1
  9. 100  ONERR  GOTO 150
  10. 110  INPUT FC$(I),FD$(I),PO$(I),CA(I),FC(I),FA(I),SF(I),CH(I),SO(I),CB(I),FI(I),SU(I),PR(I)
  11. 115 I = I +1
  12. 120  GOTO 110
  13. 150  POKE 216,0: PRINT D$"CLOSE"F$
  14. 155 MX = I -1
  15. 160  PRINT MX;" FOODS ON FILE.": PRINT 
  16. 165  PRINT "*** FOOD DIARY ***": PRINT 
  17. 168  PRINT D$"OPEN TODAY.TXT": PRINT D$"READ TODAY.TXT": INPUT YY,MM,DD: PRINT D$"CLOSE TODAY.TXT": GOTO 190
  18. 169  REM  *** 170-189 ARE DEAD CODE ***
  19. 170  INPUT "WHAT YEAR IS IT?";YY
  20. 172  IF YY <1998  THEN  PRINT "INVALID YEAR": GOTO 170
  21. 175  INPUT "WHAT MONTH IS IT?";MM
  22. 177  IF MM <1  OR MM >12  THEN  PRINT "INVALID MONTH": GOTO 175
  23. 180  INPUT "WHAT DAY IS IT?";DD
  24. 182  IF DD <1  OR DD >31  THEN  PRINT "INVALID DAY": GOTO 180
  25. 190 O$ = "D." + STR$(YY) +"." + STR$(MM) +"." + STR$(DD)
  26. 192  PRINT "OPENING FILE: "O$
  27. 193  PRINT 
  28. 194  PRINT D$"OPEN "O$
  29. 195  PRINT D$"READ "O$
  30. 200  ONERR  GOTO 245
  31. 210  INPUT FC$,PO,CA,FC,FA,SF,CH,SO,CB,FI,SU,PR,PO$,FD$
  32. 215  PRINT PO" X "PO$" "FD$
  33. 230 CA(0) = CA(0) +CA
  34. 231 FC(0) = FC(0) +FC
  35. 232 FA(0) = FA(0) +FA
  36. 233 SF(0) = SF(0) +SF
  37. 234 CH(0) = CH(0) +CH
  38. 235 SO(0) = SO(0) +SO
  39. 236 CB(0) = CB(0) +CB
  40. 237 FI(0) = FI(0) +FI
  41. 238 SU(0) = SU(0) +SU
  42. 239 PR(0) = PR(0) +PR
  43. 240  GOTO 210
  44. 245  POKE 216,0: PRINT 
  45. 246  IF CA(0) = 0  THEN 248
  46. 247  PRINT "SO FAR, THAT'S "CA(0)" CALORIES (" INT(FC(0)/CA(0) *100)"% FAT)"
  47. 248  PRINT  CHR$(7); CHR$(7): INPUT "PRESS RETURN TO CONTINUE.";R$
  48. 250  HOME : PRINT "HERE IS YOUR MENU:"
  49. 255  PRINT "---------------------------------------"
  50. 257  FOR I = 1 TO MX
  51. 260  PRINT FC$(I); SPC( 8 - LEN(FC$(I)));":"FD$(I)
  52. 270  IF I/VH =  INT(I/VH)  AND I >0  THEN  INPUT "MORE (Y/N):";MO$: IF  LEFT$(MO$,1) < >"Y"  THEN I = MX
  53. 300  NEXT I
  54. 310  PRINT "---------------------------------------"
  55. 390  PRINT "(TYPE 'MENU' TO RE-DISPLAY ABOVE MENU)"
  56. 391  PRINT "(TYPE 'ADD' TO ADD FOODS TO THE MENU)"
  57. 392  PRINT "(TYPE 'STATS' TO SEE YOUR TOTALS)"
  58. 395  PRINT "(TYPE 'DONE' WHEN YOU'RE DONE EATING)"
  59. 399  PRINT 
  60. 400  INPUT "SO, WHAT DID YOU EAT TODAY? :";FO$
  61. 403  IF FO$ = "STATS"  THEN  HOME : GOSUB 510: INPUT "PRESS RETURN TO CONTINUE:";RE$: GOTO 310
  62. 405  IF FO$ = "MENU"  THEN 250
  63. 406  IF FO$ = "ADD"  THEN  PRINT : PRINT D$"CLOSE": PRINT D$"RUN ADDFOOD.BAS": END 
  64. 407  IF FO$ = "DONE"  THEN 500
  65. 410  GOSUB 1000
  66. 412  IF FD = 0  THEN  PRINT "THAT CODE IS NOT ON FILE- TRY AGAIN.": GOTO 400
  67. 415  PRINT 
  68. 420  PRINT PO$(IX);" ";FD$(IX): PRINT 
  69. 430  INPUT "AND HOW MANY PORTIONS OF IT?:";PO
  70. 440  PRINT 
  71. 450  PRINT "LET'S SEE..."
  72. 460  PRINT CA(IX) *PO" CALORIES ("FC(IX) *PO" FROM FAT)"
  73. 465  PRINT FA(IX) *PO" G FAT, "SF(IX) *PO" G SATURATED FAT"
  74. 470  PRINT CH(IX) *PO" MG CHOLESTEROL, "SO(IX) *PO" MG SODIUM"
  75. 475  PRINT CB(IX) *PO" G CARB. ("FI(IX) *PO" FIBER, "SU(IX) *PO" SUGARS)"
  76. 480  PRINT "AND "PR(IX) *PO" G PROTEIN."
  77. 485  GOSUB 2000
  78. 487  PRINT 
  79. 490  INPUT "OK, WHAT ELSE DID YOU EAT? :";FO$
  80. 495  GOTO 405
  81. 500  HOME : GOTO 800
  82. 510  PRINT "TODAY'S TOTALS"
  83. 520  PRINT "--------------"
  84. 530  PRINT "CALORIES: ",CA(0)
  85. 539  IF CA(0) = 0  THEN 550
  86. 540  PRINT "FAT CALORIES:",FC(0);" ("; INT(FC(0)/CA(0) *100)" %)"
  87. 550  PRINT "TOTAL FAT:  ",FA(0)" G"
  88. 560  PRINT "SATURATED FAT:",SF(0)" G"
  89. 570  PRINT "CHOLESTEROL: ",CH(0)" MG"
  90. 580  PRINT "SODIUM:      ",SO(0)" MG"
  91. 590  PRINT "CARBOHYDRATES:",CB(0)" G"
  92. 600  PRINT "DIETARY FIBER:",FI(0)" G"
  93. 610  PRINT "SUGARS:       ",SU(0)" G"
  94. 620  PRINT "PROTEIN:      ",PR(0)" G"
  95. 700  PRINT : PRINT "FDA RECOMMENDATIONS:"
  96. 710  PRINT "           2000 CAL   2500 CAL": PRINT "--------------------------------"
  97. 720  PRINT "TOT FAT     < 65 G     < 80 G"
  98. 730  PRINT "SAT FAT     < 20 G     < 25 G"
  99. 740  PRINT "CHOLEST     < 300  MG  < 300  MG"
  100. 750  PRINT "SODIUM      < 2400 MG  < 2400 MG"
  101. 760  PRINT "TOT CARB    300 G      375 G"
  102. 770  PRINT "FIBER        25 G       30 G"
  103. 780  RETURN 
  104. 800  PRINT D$"CLOSE"
  105. 805  GOSUB 510
  106. 810 RP$ = "T." + STR$(YY) +"." + STR$(MM) +"." + STR$(DD)
  107. 820  PRINT D$"OPEN "RP$: PRINT D$"WRITE "RP$
  108. 830  GOSUB 510
  109. 840  PRINT : PRINT 
  110. 990  PRINT D$"CLOSE"RP$
  111. 999  END 
  112. 1000 FD = 0
  113. 1010  FOR I = 1 TO MX
  114. 1020  IF FO$ = FC$(I)  THEN IX = I:I = MX:FD = 1
  115. 1030  NEXT I
  116. 1040  RETURN 
  117. 2000  PRINT  CHR$(4)"APPEND "O$: PRINT  CHR$(4)"WRITE "O$
  118. 2010  PRINT FC$(IX)","PO","CA(IX) *PO","FC(IX) *PO","FA(IX) *PO","SF(IX) *PO","CH(IX) *PO","SO(IX) *PO","CB(IX) *PO","FI(IX) *PO","SU(IX) *PO","PR(IX) *PO","PO$(IX)","FD$(IX)
  119. 2020  PRINT D$
  120. 2100 CA(0) = CA(0) +CA(IX) *PO
  121. 2110 FC(0) = FC(0) +FC(IX) *PO
  122. 2120 FA(0) = FA(0) +FA(IX) *PO
  123. 2130 SF(0) = SF(0) +SF(IX) *PO
  124. 2140 CH(0) = CH(0) +CH(IX) *PO
  125. 2150 SO(0) = SO(0) +SO(IX) *PO
  126. 2160 CB(0) = CB(0) +CB(IX) *PO
  127. 2170 FI(0) = FI(0) +FI(IX) *PO
  128. 2180 SU(0) = SU(0) +SU(IX) *PO
  129. 2190 PR(0) = PR(0) +PR(IX) *PO
  130. 2200  RETURN