Experts are full of valuable knowledge and are ready to help with any question. Credentials confirmed by a Fortune 500 verification firm.

Get a Professional Answer

Via email, text message, or notification as you wait on our site. Ask follow up questions if you need to.

100% Satisfaction Guarantee

Rate the answer you receive.

Ask LogicPro Your Own Question

LogicPro, Engineer

Category: Homework

Satisfied Customers: 12366

Experience: Expert in Java C++ C C# VB Javascript Design SQL HTML

29751445

Type Your Homework Question Here...

LogicPro is online now

Define a class for rational numbers. A rational number is XXXXX

This answer was rated:

★★★★★

Define a class for rational numbers. A rational number is XXXXX number that can be represented as the quotient of two integers. For example, 1/2, 3/4, 64/2, and so forth are all rational numbers. (By 1/2, etc., we mean the everyday meaning of the fraction, not the integer division this expression would produce in a C++ program.) Represent rational numbers as two values of type int, one for the numerator and one for the denominator. Call the class Rational. Include a constructor with two arguments that can be used to set the member variables of an object to any legitimate values. Also include a constructor that has only a single parameter of type int; call this single parameter whole_number and define the constructor so that the object will be initialized to the rational number whole_number/1. Also include a default constructor that initializes an object to 0 (that is, to 0/1). Overload the input and output operators >> and <<. Numbers are to be input and output in the form 1/2, 15/32, 300/401, and so forth. Note that the numerator, the denominator, or both may contain a minus sign, so -1/2, 15/32, and -300/-401 are also possible inputs. Overload all of the following operators so that they correctly apply to the type Rational: ==, <, , >=, +, -, *, and /. Also write a test program to test your class.

Your class will need to store two internal, integer values for each Rational number, the numerator (top) and denominator (bottom) of the fraction. It will have three constructor functions, with zero, one and two arguments, used as follows: Rational test1, test2(10), test3(1, 2); The declaration for test1 calls the default (no argument) constructor, which should set the value to 0. (Like any other whole number, zero will have a 1 in the denominator: we cannot divide by zero.) The declaration for test2 calls a constructor with one argument. The value for test2 will be 10, stored as 10 on the top and 1 on the bottom. The declaration for test3 calls the constructor with two arguments. test3 is equal to 0.5, with 1 on the top and 2 on the bottom. All of the operators required in the problem should be provided for the Rational class as overloaded, Friend functions. In general, you should be able to execute code such as following:

// Display the three values to test cout cout << "\nTest1 equals " << test1; cout << "\nTest2 equals " << test2; cout << "\nTest3 equals " << test3; // Test our operators cout << "\nTest1 * Test2 equals " << test1*test2; cout << "\nTest1 / Test3 equals " << test1/test3; cout << "\nTest2 + Test3 equals " << test2+test3; cout << "\nTest3 - Test1 equals " << test3-test1; if (test1 == test2) cout << "\nTest1 is equal to Test2"; if (test1 < test2) cout <> operator, to detect the use of the parentheses and the comma.

You can ask me again using "For LogicPro only" at the start of your questions like other customers to get instant answers. It will ensure that question is for me. Please bookmark my profile page: http://www.justanswer.com/computer/expert-logicpro/ so you can come back and ask me a question anytime.

Remember, if you need anything else, we can continue the conversation until you’re satisfied and rate my answer as excellent. I can address follow up questions at no extra charge and I’m always here to help. Thank you for using this site!

When first starting program it should look like this:

Please enter two non-zero integers:

then I type in these two integers 14 6 and hit enter.

The next line says:

Please enter Rational number:

Then I type in this Rational number (22, 4) and hit enter.

The output should be these lines:

Test1 equals (7, 3)

Test2 equals (14, 1)

Test3 equals (11, 2)

Test1 * Test2 equals (98, 3)

Test1 / Test3 equals (14, 33)

Test2 + Test3 equals (39, 2)

Test3 - Test1 equals (19, 6)

Test1 is less than Test2

Test2 is greater than Test3

Test3 is greater than or equal to Test1

Another test case?

Note that program has to ignor parentheses ( ) and the comma , .

All of the operators required in the problem should be provided for the Rational class as overloaded, Friend functions. In general, you should be able to execute code such as following:

// Display the three values to test cout

cout << "\nTest1 equals " << test1;

cout << "\nTest2 equals " << test2;

cout << "\nTest3 equals " << test3;

// Test our operators

cout << "\nTest1 * Test2 equals " << test1*test2;

cout << "\nTest1 / Test3 equals " << test1/test3;

cout << "\nTest2 + Test3 equals " << test2+test3;

cout << "\nTest3 - Test1 equals " << test3-test1;

if (test1 == test2)

cout << "\nTest1 is equal to Test2";

if (test1 < test2)

cout << "\nTest1 is less than Test2";

The above code has to be in. And a Friend function has to be used.

Hi again, Just following up with you to see how everything is going and if you have more questions for me. You can ask me again using "For LogicPro only" at the start of your questions like you do to get instant answers. It will ensure that question is for me. Please bookmark my profile page: http://www.justanswer.com/homework/expert-logicpro/ so you can come back and ask me a question anytime. If you need any additional information on this answer, please don't hesitate to ask by clicking on 'Reply to Expert', and I will reply as soon as possible. I hope you found the information in my answer helpful, and if so, please let me know, here. Thank you! Thanks very much for using Just Answer! Best wishes LogicPro

You will start with the source code files of Displays 12.1 and 12.2, which I have attached to this lesson’s Contact as dtime.h and dtime.cpp. You'll update the class (please keep those same file names), adding the new interval_since member function, then write a test program that exercises the updated class. I want the test program to exercise all of: Both constructors The overloaded >> operator The overloaded << operator The overloaded == operator The advance member function The new interval_since member function

The files below must have new interval_since function and it must exercise all of

Both constructors The overloaded >> operator The overloaded << operator The overloaded == operator The advance member function The new interval_since member function