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