Table of Contents |
Calculator app (beta)
Naming
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.
Features
As of 9/26/11, the application supports the following features:
- Math features
- Addition
- Subtraction
- Multiplication
- Division
- Exponents
- Shortcuts for squares
- Shortcuts for cubes
- Roots
- Shortcuts for square roots
- Shortcuts for cube roots
- Logarithms
- Shortcuts for common logarithms
- Factorials
- General features
- Says hi
- Tells you what language it's written in
- Intelligent
- Marked as stable on 10/26/11 (woo!)
- At any prompt, type quit or panic to exit, no questions asked.
- Won't let you divide by 0
- Won't let you root a number that would return a value with i (since this does Bad Things to the program)
- Won't let you factorial a number too high (since that would give an incorrect answer due to technical reasons)
- Recognizes squares, cubes, square roots, cube roots, and common logarithms even if you use the regular exponent, root, multiplication, or logarithm functions
- 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
- Whoa, no issues at this time
Development
You're welcome to develop this program at https://github.com/strugee/HelloWorld3 - just hit fork.
Todo
- Implement e (Euler's number = ~2.17)
- Make everything recognize e (especially log, for ln = natural log = log base e)
- Implement trig functions
- Make requests for numbers contextual
- 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 |