Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Show me the steps to solve Step 1 The Char Type Create a complex type called Char that models the primitive type char. In your
Show me the steps to solve Step The Char Type
Create a complex type called Char that models the primitive type char. In your class,
you are going to want to have the following constructors:
Char Class Methods
Step Big Decimal
In Step you created a class called Char that would do a few things with aprimitive chare type. In this assignment, we are going to use the Char class to create another class called BigDecimal. What this means is that you are going to store digit characters in your Char class and then add new instances of the Char class to create a BigDecimal.
The BigDecimal class is going to need a way to hold all of the Char classes that you add to it so you might want to consider using a vector. I realize that the vector class in Java is somewhat going away so if you are using Java you might want to consider using the ArrayList. From this point forward I will refer to ArrayList and vector as a container. This way I don't have to keep typing both.
Your BigDecimal class should have the following constructors
BigDecimal default constructor should simply set your container to three Char objects that contain the values
BigDecimalString value This constructor will parse the string,g taking each digit, putting it into a new Cha,r and adding the Char to the container.
Your BigDecimal class should also contain the following mutators
void setValuechar ch A char that contains a digit
void setValueString value This does the same as the overloaded constructor that takes a string
BigDecimal addBigDecimal Adds the values together and returns the result as a Big Decimal
BigDecimal subBigDecimal Subtracts the two values and returns the result as a BigDecimal
Note: If you are using C feel free to use the operator instead of the add function.
I am going to let you off the hook for multiplying and dividing, but it should be easy to implement.
Accessors
double toDouble Returns the value stored in the container as a double
String toString Returns the value store in the container as a string
Char atint index Returns the value at the particular index as a Char
Other requirement
Before adding anything to your container, you must determine if the value is actually a digit. If it is not then simply stop processing characters at that point. You are also to make sure that not more than one decimal is placed. Basically, I am asking you to have a container that has a wellformed number
Step File IO
Make a change to your BigDecimal class to add the following functions methods
int wholeNumber Returns only the whole number portion of the decimal number as an int
double fraction Returns the fractional portion of the number as double
File IO
Attached at this link is a text file calledNumbers.txtLinks to an external site. that contains several numbers. You are to read in each of these numbers and store them in your BigDecimal class. Basically you are going to need a BigDecimal class for each number that is in the file. Store each BigDecimal in some kind of container like a vector or an ArrayList.
Once you have all of the numbers loaded use a loop to write out all of the numbers into two separate text files. One file called wholeNumbers.txt will hold the whole number portion of the number. The other file call fraction.txt will hold the fractional portion of the number. Make sure you include the decimal point.
Open each of the files in Notepad and make sure that you have one number per line.
Step Exceptions
Create an exception class called CharException to be thrown in the setChar function that takes an int as a parameter. You should check the range of the int to make sure it is a valid readable character. Basically if the parameter is less than or greater than you want to throw a CharException with the message "Invalid Character".
C
Use public inheritance to derive your CharException class from exception. Override the virtual function what const char what so that it returns the message "Invalid Character." Use the what function to display the error message. Below is an image of the main and its output to give you an idea of how the class should work: Finally, a BigDecimalException class that is derived from the CharException class. You should throw this exception anytime that a character is being set that is not a valid character a digit or a decimal You should also throw this exception if more than one decimal is being set. At this point, I am not going to give you many specifics on how to implement this. I will only say that you are to use inheritance. No matter how you implement this class, please have good reasoning for doing so It is time for all of us to start using what we have learned to formulate our own ideas. Please include the following main.cppChar.hChar.cppBigDecimal.hBigDecimal.cppCharException.hCharException.cppBigDecimalException.h and BigDecimalException.cpp
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started