home *** CD-ROM | disk | FTP | other *** search
/ Falcon 030 Power 2 / F030_POWER2.iso / ST_STE / MAGS / ICTARI03.ARJ / ictari.03 / GFA / TUTORIAL / PROCED_1.GFA (.txt) < prev    next >
GFA-BASIC Atari  |  1989-07-29  |  2KB  |  71 lines

  1. ' ****** Program Parameters ******
  2. maxdrink%=10                               !*** Max Number Of Drinks } Must Be
  3. maxlength%=30                              !*** Max Length Of Drink  } Positive
  4. stop$="stop"                               !*** String To Stop Before Max ***
  5. '
  6. DIM drink$(maxdrink%-1)
  7. get_all_drinks                             !*** Procedure 'Called' Here ***
  8. '
  9. show_drinks                                !*** Procedure 'Called' Here ***
  10. '
  11. PRINT CHR$(10);CHR$(7);"Terminated, press any key to exit:";
  12. ~INP(2)
  13. EDIT
  14. '      -------------- Main Program Stops Here --------------
  15. '
  16. '
  17. '
  18. '      --------------- Procedures Start Here ---------------
  19. PROCEDURE get_all_drinks
  20.   '
  21.   ' ****** Clear Screen And Display Instructions ******
  22.   CLS
  23.   PRINT "Enter upto ";maxdrink%;" top tipples!"
  24.   PRINT "Use '"+stop$+"' to enter less,"
  25.   '
  26.   ' ****** Set Drinkcount To 0 And Enter Loop ******
  27.   count%=0
  28.   REPEAT
  29.     get_one_drink                          !*** Procedure 'Called' Here ***
  30.     '
  31.     ' **** Providing Not Stopping, Add Valid Drink And Increment Drinkcount ****
  32.     IF NOT (tempdrink$=stop$)
  33.       drink$(count%)=tempdrink$
  34.       ADD count%,1
  35.     ENDIF
  36.   UNTIL count%=maxdrink% OR tempdrink$=stop$
  37. RETURN
  38. '
  39. '
  40. '
  41. '
  42. PROCEDURE get_one_drink
  43.   PRINT CHR$(10);"Drink ";count%+1;": ";
  44.   INPUT "",tempdrink$
  45.   '
  46.   WHILE (LEN(tempdrink$)<1 OR LEN(tempdrink$)>maxlength%) AND NOT (tempdrink$=stop$)
  47.     PRINT CHR$(7);"Invalid - 1 to ";maxlength%;" characters only!"
  48.     PRINT "Drink ";count%+1;": ";
  49.     INPUT "",tempdrink$
  50.   WEND
  51. RETURN
  52. '
  53. '
  54. '
  55. '
  56. PROCEDURE show_drinks
  57.   CLS
  58.   '
  59.   ' ****** Are There #Any# Drinks??  If So Let`s See Them ******
  60.   IF count%>0
  61.     PRINT "Here are your top ";count%;" tipples:"
  62.     PRINT
  63.     '
  64.     FOR display%=0 TO count%-1
  65.       PRINT drink$(display%)
  66.     NEXT display%
  67.     '
  68.     PRINT CHR$(10)
  69.   ENDIF
  70. RETURN
  71.