Concept explainers
Define a class for rational numbers. A rational number is a 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 wholeNumber and define the constructor so that the object will be initialized to the rational number wholeNumber/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.
(Hints: Two rational numbers a/b and c/d are equal if a*d equals c*b. If b and d are positive rational numbers, a/b is less than c/d provided a*d is less than c*b. You should include a function to normalize the values stored so that, after normalization, the denominator is positive and the numerator and denominator are as small as possible. For example, after normalization 4/−8 would be represented the same as −1/2. You should also write a test program to test your class.)
Trending nowThis is a popular solution!
Chapter 11 Solutions
EBK PROBLEM SOLVING WITH C++
Additional Engineering Textbook Solutions
Concepts of Programming Languages (11th Edition)
Starting Out with C++: Early Objects
Introduction To Programming Using Visual Basic (11th Edition)
Starting Out with C++ from Control Structures to Objects (8th Edition)
Starting Out with Java: From Control Structures through Objects (7th Edition) (What's New in Computer Science)
Starting Out with Python (4th Edition)
- Write a python program that takes input values as integer, checks the number is not less than 10 (otherwise take input again) and prints the previous 10 numbers i.e. 10, 9, 8, … Concatenate the integer and string values and print as a string Write a python code to create a class named as ‘Employee’ with attributes i.e. ID, Name, Designation, Qualification, Salary, Taken-Leaves, Allowed-Leaves and the functions applyLeave(). This function will take number of leaves as an input and check Allowed-Leaves to see whether the employee can take leaves or not. If he can take, deduct these leaves from Allowed-Leaves and add in Taken-Leaves. Otherwise show message ‘you cannot take leave’. Create another class ‘Intern’ and inherit ‘Employee’ as super class.arrow_forwardCould you please help me with the last function in this Haskell program, practice2. I'm not sure how to make it work. data A (x :: *) where A :: x -> x -> A x type B (f :: * -> *) (a :: *) = f (a, a) practice1 :: forall x. x -> B A x practice1 x = A(x, x) (x, x) data CD (a :: *) where C :: forall a. a -> CD a D :: forall a. CD a -> (CD a -> a) -> CD a class E (f :: * -> *) where practice2 :: forall a. f a -> a instance E CD where practice2 :: forall a. CD a -> a practice2 = undefinedarrow_forwardWrite a Java Program: Sometimes some words like "localization" or "internationalization" are so long that writing them many times in one text is quite tiresome. Let's consider a word too long if its length is strictly more than 10 characters. All too long words should be replaced with a special abbreviation. This abbreviation is made like this: we write down the first and the last letter of a word and between them, we write the number of letters between the first and the last letters. That number is in decimal system and doesn't contain any leading zeroes. Thus, "localization" will be spelled as "l10n", and "internationalization» will be spelled as "i18n". You are suggested to automatize the process of changing the words with abbreviations by using the Java program that implements the static method capitalization(). At that, all too long words should be replaced by the abbreviation and the words that are not too long should not undergo any changes. Input The first line contains…arrow_forward
- By implementing the concepts of Classes and Objects, write a C++ program that converts the value of Delta-connected resistances to their equivalent Wye- connected resistances. Use the following formulas: R1 = R12(R31)/(R12+R23+R31) R2 = R12(R23)/(R12+R23+R31) and R3 = R31(R23)/(R12+R23+R31) The values of the 3 Delta-connected resistances, R12, R23 and R31 are to be entered from the keyboard. Sample Input: Enter the value of each Delta-connected resistances: Enter the value for R12: Enter the value for R23: Enter the value for R31: The equivalent Wye-connected resistances are: R1 = R2 = R3 =arrow_forwardWrite the Program in C language. Write a program where you have to take 2 numerical inputs and 1 input for operator {theoperator input has to be either ‘+’, ’-’, ’*’). Depending on some comparisons, you need to carryout three operations: addition ( + ), subtraction ( - ), and multiplication ( * ). Each of theseoperations will be implemented in separate methods. i. If the first number is greater than the second number, do subtraction and print theresult.ii. If the first number is less than the second number, perform addition and print the result.iii. If the first number is equal to the second number, do multiplication and print the result.arrow_forwardUsing C++, write a whole program to ask the user for his/her name, age, and gpa, then print on the screen "Hello NAME!, you are AGE years old and your Grade Point Average is GPA.", where NAME, AGE, and GPA are replaced by the values that the user typed.User data should be stored in a class variable of type userType, which has three private components: name of type string, age of type int, and gpa of type double.arrow_forward
- Using c++, write a program that reads students’ names followed by their test scores. The program should output each student’s name followed by the test scores and the relevant grade. It should also find and print the highest test score and the name of the students having the highest test score. Student data should be stored in a class variable of type studentType, which has four private components: studentFName and studentLName of type string, testScore of type int (testScore is between 0 and 100), and grade of type char. Suppose that the class has 20 students. Use an array of 20 components of type studentType. Your program must contain at least the following functions: A function to read the students’ data into the array. A function to assign the relevant grade to each student. A function to find the highest test score. A function to print the names of the students having the highest test score. Your program must output each student’s name in this form: last name followed by…arrow_forwardUsing Haskell.) One common misconception is that prime numbers are those that are not divisible by 2, 3, 5, 7 and 9. To dispel this myth, write a function fakePrimes that returns all numbers that are not divisible by 2, 3, 5, 7 and 9, and are not prime. For example, taking the first number out of this function we get [121].arrow_forwardThis is a debugging question - The files provided in the code editor to the right contain syntax and/or logic errors. In each case, determine and fix the problem, remove all syntax and coding errors, and run the program to ensure it works properly. Code I was given - public abstract class DebugBoat { String boatType = new String(); int passengers String power = new String(); public FebugBoat(String bt) { boatType = bt; } public boolean equals(otherBoat) { boolean result; if((passengers == otherBoat.passengers) && (power.equals(otherBoat.power))) result = true; else result = true; return result } public String toString() { return("This " + boatType + "boat carries " + passengers + " and is powered by" + power); } public abstract void setPower(); public abstract void setPassengers(); } // An array for different boat types public class DebugEleven2 { public static void…arrow_forward
- This is a debugging question - The files provided in the code editor to the right contain syntax and/or logic errors. In each case, determine and fix the problem, remove all syntax and coding errors, and run the program to ensure it works properly. Code I was given - public abstract class DebugBoat { String boatType = new String(); int passengers String power = new String(); public FebugBoat(String bt) { boatType = bt; } public boolean equals(otherBoat) { boolean result; if((passengers == otherBoat.passengers) && (power.equals(otherBoat.power))) result = true; else result = true; return result } public String toString() { return("This " + boatType + "boat carries " + passengers + " and is powered by" + power); } public abstract void setPower(); public abstract void setPassengers(); } // Instantiates Rowboat // Rowboat is child of Boat public class DebugEleven1 {…arrow_forwardIn Java Given the following function: static int Fun(int x,String w, double y) {x=3; return x;} What is the name of the function? What is the type of the function? What is the definition of the formal parameters? What are the function “fun”?arrow_forwardWrite a program which reads two integers and prints out the sum, the difference and the product. Divide them too, printing your answer to two decimal places. Also print the remainder after the two numbers are divided. Introduce a test to ensure that when dividing the numbers, the second number is not zero. What are the integer types in C?arrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning