Pointers and Structs
Your program will:
- Declare a Calculator object, and initialize it
- 0 for both values and + for last operator will be good
- Youll have to initialize the pointer (with new) before initializing its value!
- Accepts a line of input that will be read like a calculator
- Valid operations The user is prompted, then, without choosing, just provides one of the below patterns
- Full expressions: 3+5, when entered, displays/stores 8 (Used below)
- Partial expressions: +1, when entered, uses the previous results as a starting point. Continuing from the above example, displays/stores 9
- Valid operations The user is prompted, then, without choosing, just provides one of the below patterns
- Repeat last operation: =, when entered, uses the previous operations results with the same operator and Right Hand value. If entered after the above statement, would display/store 10.
- You can make this run when no input is provided, just document it and let me know as the user!
- Quit: q, when entered, ends the execution of the program
- Apart from any whitespace that may be in the input string, any characters that are neither digits, an operator (+-*/%), or the quit command, should not be accepted; meaning the calculator command is rejected with a message given to the user. If the users input is rejected, no action should be taken.
- Based on the users valid input, appropriately calculate, display, and store the answer in the LHValue member of your Calculator object
- void processInput(Calculator * calc, string userInput)
- Function definition above must be used (argument types cant be changed)
- Repeat step 2
Note: Dont allow for division by 0!
If youre unfamiliar with pointers, wait, look to the slides and/or try working on this assignment with the pointer temporarily converted to an ordinary variable.
Points:
- Documentation, readability, format
1.5 Proper use of Pointers
1.5 Proper use of Structs
- Proper program flow (conditionals, loops, etc)
2 Filename and Header 2 Output testing
Reviews
There are no reviews yet.