Programming problem: Currency Simulator please write in C++ and read all of them please before doing it thank you ! A. C

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899603
Joined: Mon Aug 02, 2021 8:13 am

Programming problem: Currency Simulator please write in C++ and read all of them please before doing it thank you ! A. C

Post by answerhappygod »

Programming problem: Currency Simulator
please write in C++ and read all of them please before doing it thank you !
A. Create an abstract base class called Currencywith two integer attributes, both of which are non-public . The int attributes will represent whole part (or currency note value) and fractional part (or currency coin value) such that 100 fractional parts equals 1 whole part.
B. Create two derived classes - Dollar and Pound -with one additional non-public string attribute which will contain the name of the currency (Dollar or Pound) respectively. DO NOT add this attribute to the base Currency class.
C. In your base Currency class, add public methods for the following, where appropriate (C++ students are allowed to use friend methods as overloads only, i.e. the corresponding class method needs to be defined first; Do not use overloaded operators in C++):
D. In your derived Dollar and Pound classes, add new methods or override inherited methods as necessary, taking care that code should not be duplicated or duplication minimized. Think modular and reusable code.
E. Remember -
F. In your main:
Invalid addition
1.11 Pound 12.12 Dollar
Invalid subtraction
1.11 Pound 2.25 Dollar
Things to remember:
Programming problem: Currency Simulator A Create an abstract base class called Currency with two integer attributes, both of which are non-public (Python programmers - it is understood that there is nothing private in Python but try to not access the attributes directly from outside the classes). The int attributes will represent whole part (or currency note value) and fractional part (or currency coin value) such that 100 fractional parts equals 1 whole part. B. Create two derived classes - Dollar and Pound - with one additional non-public string attribute which will contain the name of the currency (Dollar or Pound) respectively. DO NOT add this attribute to the base Currency class. C. In your base Currency class, add public methods for the following, where appropriate (C++ students are allowed to use friend methods as overloads only, i.e. the corresponding class method needs to be defined first; Do not use overloaded operators in C++/Python): Default Construction (i.e. no parameters passed). • Construction based on one single input of type double-create logical objects only, i.e. no negative value objects allowed. • Copy Constructor and/or Assignment (.e. the input is an object of the same class), as applicable to your programming language of choice. Destructor, as applicable to your programming language of choice. Setters and Getters for all attributes, as may be necessary. A method called add for adding an input object of the same currency. O A method called subtract for subtracting an input object of the same currency- the result should be logical. I.e. negative results are not allowed. O 000 O A method called toString to 'stringify the name and value of a currency object in the form "xx.yy" followed by the derived currency name, e.g. 1.23 Dollar or 2.46 Pound. O A method called is Equal for comparing an input object of the same currency for equality/inequality. A method called is Greater for comparing an input object of the same currency to identify which object is larger or smaller. All of the above should be instance methods and not static. The add and subtract as specified should manipulate the object on which they are invoked. It is allowed to have overloaded methods that create and return new objects. D. In your derived Dollar and Pound classes, add new methods or override inherited methods as necessary, taking care that code should not be duplicated or duplication minimized. Think modular and reusable code. O E. Remember - Make sure not to print anything to console from within any class. All print statements should be limited to main only.
E. Remember. O Make sure not to print anything to console from within any class. All print statements should be limited to main only. • Throw String (or equivalent) exceptions from within the classes to ensure that invalid objects cannot be created or objects cannot be modified to become invalid. 0 In all methods, ensure that you are not mixing objects of different currencies. F. In your main: 0 Declare a primitive array of 2 Currency references (for C++ programmers, array of 2 Currency pointers). • Set the first reference in the array to a Pound object and the second reference to a Dollar object, both of zero value. O Then perform the sequence of operations as in the sample input/output below, understanding that your program will be tested with a different sequence of operations using the same patterns. All operations in the main should be performed on Currency objects demonstrating polymorphism. Remember to handle exceptions appropriately. O Sample input/output for your main-remember my test program will follow the same pattern but not the same sequence: Sample Input Sample Output 0.00 Pound 0,00 Dollar 1.11 Pound 0.00 Dollar O O Event Sequence Program Starts Add a pound obiect lap 1.11 pound
• Declare a primitive array of 2 Currency references (for C++ programmers, array of 2 Currency pointers). 0 Set the first reference in the array to a Pound object and the second reference to a Dollar object, both of zero value. Then perform the sequence of operations as in the sample input/output below, understanding that your program will be tested with a different sequence of operations using the same patterns. All operations in the main should be performed on Currency objects demonstrating polymorphism. Remember to handle exceptions appropriately. Sample input/output for your main - remember my test program will follow the same pattern but not the same sequence: Sample Input Sample Output 0.00 Pound 0.00 Dollar 1.11 Pound 0.00 Dollar 1.11 Pound 12.12 Dollar 0 O Event Sequence Program Starts Add a pound object Add a dollar object Add a pound object ap 1.11 pound a d 12.12 dollar ad 3.45 pound a d 0.13 dollar sd 10 dollar Add a dollar object Subtract a dollar object Subtract a dollar object sd 2.5 dollar Subtract a pound objects p 0.11 pound End the program Invalid addition 1.11 Pound 12.12 Dollar 1.11 Pound 12.25 Dollar 1.11 Pound 2.25 Dollar Invalid subtraction 1.11 Pound 2.25 Dollar 1.00 Pound 2.25 Dollar
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply