home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / VRAC / PBWIZ18.ZIP / CALC.BAS < prev    next >
BASIC Source File  |  1993-08-18  |  2KB  |  69 lines

  1. '   +----------------------------------------------------------------------+
  2. '   |                                                                      |
  3. '   |         PBWIZ  Copyright (c) 1991-1993  Thomas G. Hanlin III         |
  4. '   |                      3544 E. Southern Ave. #104                      |
  5. '   |                            Mesa, AZ 85204                            |
  6. '   |                                                                      |
  7. '   |                      PowerBASIC Wizard's Library                     |
  8. '   |                                                                      |
  9. '   +----------------------------------------------------------------------+
  10.  
  11.    $DIM ARRAY
  12.    $STACK 8192
  13.  
  14.    DECLARE SUB Evaluate (STRING, SINGLE, INTEGER)
  15.  
  16.    $LINK "pbwiz.pbl"
  17.  
  18.    DEFINT A-Z
  19.  
  20.    Expr$ = COMMAND$
  21.  
  22.    Evaluate Expr$, Result!, ErrCode
  23.  
  24.    SELECT CASE ErrCode
  25.       CASE 0
  26.          PRINT Expr$; " =";
  27.          IF ABS(Result!) = Result! THEN
  28.             PRINT Result!
  29.          ELSE
  30.             PRINT " "; Result!
  31.          END IF
  32.       CASE 1
  33.          PRINT "Argument expected"
  34.       CASE 2
  35.          PRINT "Missing number"
  36.       CASE 3
  37.          PRINT "Unknown function"
  38.       CASE 4
  39.          PRINT "Unbalanced parentheses"
  40.       CASE 5
  41.          PRINT "Imaginary number"
  42.       CASE 8
  43.          PRINT "CALC  Copyright (c) 1991-1993  Thomas G. Hanlin III"
  44.          PRINT
  45.          PRINT "Syntax:"
  46.          PRINT "   CALC expression"
  47.          PRINT
  48.          PRINT "Expressions may use the following operators:"
  49.          PRINT "   +      add"
  50.          PRINT "   /      divide"
  51.          PRINT "   *      multiply"
  52.          PRINT "   -      subtract"
  53.          PRINT "   ^      raise to a power (** also works)"
  54.          PRINT
  55.          PRINT "A number of functions are also provided:"
  56.          PRINT "   ABS    absolute value         INT    integer"
  57.          PRINT "   ACOS   inverse cosine         LOG    natural log"
  58.          PRINT "   ASIN   inverse sine           PI     3.141593"
  59.          PRINT "   ATAN   inverse tangent        SIN    sine"
  60.          PRINT "   COS    cosine                 SQR    square root"
  61.          PRINT "   FRAC   fraction               TAN    tangent"
  62.          PRINT
  63.          PRINT "Trig functions expect angles in radians."
  64.       CASE 9
  65.          PRINT "Division by zero"
  66.       CASE ELSE
  67.          PRINT "Error"
  68.    END SELECT
  69.