Add calculator app specification Resolves: N/a See also: N/apull/38/head
parent
85e17095d4
commit
4b9d3b66fe
@ -0,0 +1,57 @@
|
||||
# Calculator
|
||||
|
||||
**Tier:** 1-Beginner
|
||||
|
||||
Calculators are not only one of the most useful tools available, but they are
|
||||
also a great way to understand UI and event processing in an application. In
|
||||
this problem you will create a calculator that supports basic arithmetic
|
||||
calculations on integers.
|
||||
|
||||
The styling is up to you so use your imagination and get creative! You might
|
||||
also find it worth your time to experiment with the calculator app on your
|
||||
mobile device to better understand basic functionality and edge cases.
|
||||
|
||||
### Constraints
|
||||
|
||||
- You may not use the `eval()` function to execute calculations
|
||||
|
||||
## User Stories
|
||||
|
||||
- [ ] User can see a display showing the current number entered or the
|
||||
result of the last operation.
|
||||
- [ ] User can see an entry pad containing buttons for the digits 0-9,
|
||||
operations - '+', '-', '/', and '=', a 'C' button (for clear), and an 'AC'
|
||||
button (for clear all).
|
||||
- [ ] User can enter numbers as sequences up to 8 digits long by clicking on
|
||||
digits in the entry pad. Entry of any digits more than 8 will be ignored.
|
||||
- [ ] User can click on an operation button to display the result of that
|
||||
operation on:
|
||||
* the result of the preceeding operation and the last number entered OR
|
||||
* the last two numbers entered OR
|
||||
* the last number entered
|
||||
- [ ] User can click the 'C' button to clear the last number or the last
|
||||
operation. If the users last entry was an operation the display will be
|
||||
updated to the value that preceded it.
|
||||
- [ ] User can click the 'AC' button to clear all internal work areas and
|
||||
to set the display to 0.
|
||||
- [ ] User can see 'ERR' displayed if any operation would exceed the
|
||||
8 digit maximum.
|
||||
|
||||
## Bonus features
|
||||
|
||||
- [ ] User can click a '+/-' button to change the sign of the number that is
|
||||
currently displayed.
|
||||
- [ ] User can see a decimal point ('.') button on the entry pad to that
|
||||
allows floating point numbers up to 3 places to be entered and operations to
|
||||
be carried out to the maximum number of decimal places entered for any one
|
||||
number.
|
||||
|
||||
## Useful links and resources
|
||||
|
||||
- [Calculator (Wikipedia)](https://en.wikipedia.org/wiki/Calculator)
|
||||
- [MDN](https://developer.mozilla.org/en-US/)
|
||||
|
||||
## Example projects
|
||||
|
||||
- [Javascript Calculator](https://codepen.io/giana/pen/GJMBEv)
|
||||
- [React Calculator](https://codepen.io/mjijackson/pen/xOzyGX)
|
Loading…
Reference in new issue