|
@@ -16,23 +16,23 @@ All features must be tested. Tests must include normal behavior, and any possibl
|
16
|
16
|
|
17
|
17
|
### Documentation
|
18
|
18
|
|
19
|
|
-You must produce UML diagrams for your program. All classes (excluding test classes) must be included in the UML class diagrams.
|
|
19
|
+You must produce UML diagrams for your program. All classes (excluding test classes) must be included in the UML class diagrams. Your UML must be approved by an instructure by 5PM on Friday.
|
20
|
20
|
|
21
|
|
-### Core Features
|
|
21
|
+### Core Features
|
22
|
22
|
|
23
|
23
|
All calculators should have the following features:
|
24
|
24
|
|
25
|
|
-- A state, representing the value currently displayed on the calculator (default 0) *
|
26
|
|
-- Get the current number on the display *
|
27
|
|
-- Clear the display *
|
28
|
|
-- Change the number on the display *
|
|
25
|
+- A state, representing the value currently displayed on the calculator (default 0)
|
|
26
|
+- Get the current number on the display
|
|
27
|
+- Clear the display
|
|
28
|
+- Change the number on the display
|
29
|
29
|
- Add, subtract, multiply, and divide the value on the display by a given number
|
30
|
|
-- Calculate the square (x<sup>2</sup>) and square root (√x) of the number on the display *
|
|
30
|
+- Calculate the square (x<sup>2</sup>) and square root (√x) of the number on the display
|
31
|
31
|
- Calculate variable exponentiation (x<sup>y</sup>)
|
32
|
|
-- Calculate the inverse of the number on the display (1/x) *
|
|
32
|
+- Calculate the inverse of the number on the display (1/x)
|
33
|
33
|
- Invert the sign of the number on the display (switch between positive and negative)
|
34
|
|
-- Update the display to `Err` if an error occurs (eg: Division by zero) *
|
35
|
|
-- Errors must be cleared before any other operation can take place *
|
|
34
|
+- Update the display to `Err` if an error occurs (eg: Division by zero)
|
|
35
|
+- Errors must be cleared before any other operation can take place
|
36
|
36
|
|
37
|
37
|
Each operation should automatically update the display
|
38
|
38
|
|
|
@@ -56,12 +56,15 @@ Each operation should automatically update the display
|
56
|
56
|
- Switch trig units mode (Degrees, Radians)
|
57
|
57
|
- `switchUnitsMode()` should rotate through the options
|
58
|
58
|
- `switchUnitsMode(String mode)` should set the trig units to the type given
|
|
59
|
+
|
|
60
|
+### Bonus
|
|
61
|
+- Factorial function
|
59
|
62
|
- Logarithmic functions
|
60
|
63
|
- Log
|
61
|
64
|
- 10<sup>x</sup> (inverse logarithm)
|
62
|
65
|
- Ln (natural logarithm)
|
63
|
66
|
- e<sup>x</sup> (inverse natural logarithm)
|
64
|
|
-- Factorial function
|
|
67
|
+
|
65
|
68
|
|
66
|
69
|
|
67
|
70
|
### Custom Features
|
|
@@ -86,4 +89,4 @@ The following functions should take the displayed value (x) and updated it accor
|
86
|
89
|
|
87
|
90
|
## Submission
|
88
|
91
|
|
89
|
|
-Completed projects should be submitted by submitting a pull request against the [original repository](https://github.com/Zipcoder/project-1-calculator). All work should be done in your own repository.
|
|
92
|
+Completed projects should be submitted by submitting a pull request against the [original repository](https://git.zipcode.rocks/ZipCodeWilmington/ZCW-MacroLabs-OOP-ScientificCalculator). All work should be done in your own repository.
|