Java Python COMP 3141: Object Oriented Design and Programming
Project (10%)
Problem:
You need to develop a program code to build a calculator. The program should open with two options of:
a. Basic calculator
b. Scientific calculator
Basic calculator—This will allow the six basic functions of:
a. Addition
b. Subtraction
c. Multiplication d. Division
e. Square root f. Square
Scientific calculator—This will allow mathematical operations for sine, cosine, etc. (You may lead to the level of operations.)
The project is done in two phases:
Phase 1
Plan all the classes with constructor, destructor, accessor, and mutators. You will need to do the class declaration in a header(.h) file, and the class implementation in the .cpp file.
Now add more methods in the classes for display and other calculations.
Phase 2:
Design the driver program to display a menu to take user input for the type of calculator the user wishes to use. The calculator should keep on working until the user wishes to quit. Also, there should be a chance given to the user to switch to the alternative mode without closing and re-running the entire program.
Deliverables:
1. PDF file having Phase 1 with the code plan explaining the OOPS features you have planned to use (40 marks)
2. Phase 2 completed with screen shots in a zipped format with fully executable code (50 marks)
10 marks are reserved for any additional features you add in the project. Do highlight them in the submission (e.g. using +/- keystrokes to input rather than menu choices, visual display for menu, etc.).
Rubric
Phases | Code Structure | Documentation | COMP 3141: Object Oriented Design and ProgrammingC/C++ Score | |
Phase 1 | Class definition demonstrates content knowledge, understanding, and application gained from readings in the object structures. (20 marks) | All the Class structures are well documented and explained. (20 marks) | /40 | |
Phase 2 | Overall Project developed as per given guidelines. (20 marks) | The calculator execution does not break. (15 marks) | The calculations are all correct. (15 marks) | /50 |
Additional | An ability to study additional features and incorporate in the project |