Simple Number Converter/Calculator
Create a program that converts and performs operations on Arabic Numbers and Roman Numerals
Your program should contain (but is not limited to) the following classes:
Number – abstract base class of all the number format classes
Integer – wrapper for the primitive integer
RomanNumeral – class for roman numeral
- All the number format classes must be instantiated with an (optional) initial value.
- For Integer instances, initial value is of type int and defaults to 0;
- RomanNumeral – initial value is empty string (“”)
- All these classes must have the following methods and must overload the following operators:
int toInteger() const;
std::string toRomanNumeral() const;
virtual bool parse() = 0; validation of values
Operators: +, -, *, /, %, >, <, >=, <=, ==, !=
- Notice the abstract method parse(). Take note that it should be called on the constructor of the class.
Integer* integ = new Integer(15);
integ->toInteger(); // returns 15
integ->toRomanNumeral(); // returns “XV”
- Allowed values are between [0, 1000]. Any operations and initializations with results beyond this range will be treated as invalid and must return -1 for toInteger() calls, and “INVALID” for toRomanNumeral()
- Arithmetic operations involving INVALID numbers should result to an INVALID object. Relational operations involving INVALID numbers should return false with some exceptions when there is equality involved.
- Also, you can create test cases for your program (but not part of the final checking).
Good luck!
HI..I am quite proficient in writing C/C++ programs as general purpose computing applications in console mode and can help you write the calculator as per given specs. I will use GNU c++ compiler in linux machine to write and test the code. please contact me as soon as possible for a discussion.
Hi! I am C/C++ programmer with some knowledge in data structures an algorithms and also design patterns. I am aure I cand help you with this task and I hope you will consider my offer. We can renegociate the price if you want to. I look forward to hearing from you.
Yours sincerely,
Emilovici