A scientific calculator built in C# for my Aston Degree (Course DC1020)
Create a scientific calculator in VS.NET C# programming, which can perform basic mathematical operations (e.g., addition, subtraction, multiplication, and division) as well as some more advanced calculations (e.g., sines, cosines, tangents, exponents, logarithms, roots, etc.). To design the graphic user interface for your calculator, you can either follow the example of "Windows 7 Calculator (Scientific Mode)" (see Figure 1(a)), or create your own user interface (e.g., Figures 1(b)).
Figure 1(a) Windows 7 Calculator (Scientific Mode)
Figure 1(b) Examples of Your Own User Interface Design
Submission Deadline: 3.00pm, 1 st July, 2018 Please package all files in your .NET project folder into a single .ZIP package and submitted the .ZIP package via Blackboard. The total mark of this project is 100%, including minimum requirements (40%), and desired requirements (60%).
To get the basic marks (40%), the function of your calculator should not be simpler than the following one:
The following basic operations are mandatory for your calculator:
Operations | Functions |
---|---|
+ | Addition |
- | Subtraction |
X | Multiplication |
/ | Division |
To get higher marks (>40%), you should add more advanced functions for your calculator, by supporting, for example:
- more advanced calculations (e.g., sines, cosines, tangents, exponents, logarithms, roots, etc.),
- "save & restore" memory functionality (e.g., "MC", "M+", "M-" buttons in Windows 7 Calculator)
- bracket operators together with “+, -, x and /” calculations
- angle mode switching functionality (e.g., conversion between degrees and radians)
Fail (0 - 39%)
- Minimum Requirements were not met.
- Program does not compile due to errors (which could not be easily determined).
- User interface design was not related to implementation.
Pass (40% - 49%)
- Meet the minimum requirements listed (i.e., support four basic “+,-,*, /” operations).
- Operator precedence is left-to-right associativity only (e.g., multiplication is not granted a higher precedence than addition). For instance, the expression 1 + 2 × 3 is interpreted to have the value (1 + 2) × 3 = 9 not 1 + (2 × 3) = 7).
- Sound user interface design with no major mistake.
Credit (50% - 69%)
- Meet the minimum requirements listed.
- Operator precedence is left-to-right associativity only.
- Support some advanced calculations (e.g., sines, cosines, tangents, exponents, logarithms, roots, etc.).
- Implement "save & restore" memory functionality (e.g., "MC", "M+", "M-" buttons, as show in Windows 7 Calculator).
- Good user interface design with minor mistake.
Distinction (70% - 79%)
- Meet the minimum requirements listed.
- A more standard priority is given to different operators (e.g. 1+2x3 yields 7 not 9)
- Support some advanced calculations (e.g., sines, cosines, tangents, exponents, logarithms, roots, etc.).
- Implement "save & restore" memory functionality (e.g., "MC", "M+", "M-" buttons in Windows 7 Calculator).
- Bracket operators together with “+, -, * and /” calculations.
- Aesthetic user interface design without errors.
High Distinction (80% - 100%)
- Meet the minimum requirements listed.
- A more standard priority is given to different operators (e.g. 1+2x3 yields 7 not 9)
- Support some advanced calculations (e.g., sines, cosines, tangents, exponents, logarithms, roots, etc.).
- Implement "save & restore" memory functionality (e.g., "MC", "M+", "M-" buttons in Windows 7 Calculator).
- Nested Bracket operators together with “+, -, * and /” calculations.
- More advanced functions, e.g., angle mode switching (conversion between degrees and radians in Windows 7 Calculator).
- Evidence of exception handling and other good programming practices, e.g., comments and indentation.
- Aesthetic user interface design without errors.