CIS 200 Machine Problem 1 For your first programming assignment you are to design and implement a program that will act as an interactive calculator capable of handling very large integers (1 to 20 digits long). This calculator will need to perform only the operations of addition, subtraction, and multiplication. I would prefer that you work on this program in teams of 2 or 3 people. The input to your program will be lines containing expressions of the form num1 op num2 and the output should look like num1 op num2 ------- num3 Where num1 and num2 are integers 1 to 20 digits long, op is a single character (-, +, or *), and num3 is the integer (1 to 20 digit) result of the calculation. Design your program carefully. You will need to include the following in your design: 1. a data structure to hold numbers (e.g. array of int) 2. a function to read in numbers (ignoring leading zeros) 3. a function to write numbers (skipping leading zeros) 4. functions to add, subtract, and multiply numbers 5. check for arithmetic overflow (> 20 digits in answer) 6. reasonable error processing for invalid input Your final solution will need to be written using any implementation of C++ you have access to. You will need to turn in your: 1. proof of compilation 2. pseudocode versions of your algorithms 3. a module structure chart 4. a list of your input test data 5. the output using your test data 6. 3 to 5 pages of external program documentation (e.g. a program specification document and test summary) Your code must be well commented, written using good style, and use parameters to pass any information to the program's functions. Programs without functions won't be graded. This program is worth 30 points and is due two weeks from today.