Created: 2011-07-12 23:50
Updated: 2017-12-31 23:53
License: wtfpl


Table of Contents

Calculator app (beta)


We need a (good) name for the program! If you have any ideas, open an issue.

On 6/17/12, @jacksondc suggested "Calcy". This is being tracked as Issue #27.


As of 9/26/11, the application supports the following features:

  1. Math features
    1. Addition
    2. Subtraction
    3. Multiplication
    4. Division
    5. Exponents
      1. Shortcuts for squares
      2. Shortcuts for cubes
    6. Roots
      1. Shortcuts for square roots
      2. Shortcuts for cube roots
    7. Logarithms
      1. Shortcuts for common logarithms
    8. Factorials
  2. General features
    1. Says hi
    2. Tells you what language it's written in
    3. Intelligent
    4. Marked as stable on 10/26/11 (woo!)
    5. At any prompt, type quit or panic to exit, no questions asked.
      1. Won't let you divide by 0
      2. Won't let you root a number that would return a value with i (since this does Bad Things to the program)
      3. Won't let you factorial a number too high (since that would give an incorrect answer due to technical reasons)
      4. Recognizes squares, cubes, square roots, cube roots, and common logarithms even if you use the regular exponent, root, multiplication, or logarithm functions
    6. Once done, calculator will ask if you want to use again

Known Issues

For hardcore known issues, visit https://github.com/strugee/HelloWorld3/issues. A general list follows, but this may not be up-to-date or current

  1. Whoa, no issues at this time


You're welcome to develop this program at https://github.com/strugee/HelloWorld3 - just hit fork.


  1. Implement e (Euler's number = ~2.17)
    1. Make everything recognize e (especially log, for ln = natural log = log base e)
  2. Implement trig functions
  3. Make requests for numbers contextual
  4. Make it so the user can go back to previous prompt

Fail Values

This is a chart for the FailReason variable, which the calculate() method will set when it fails, along with returning 1. Trust me, you'll need it.

0. Divided by 0
1. Answer would have been complex (with i, as opposed to real, without i)
2. Factorial is too big

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more