C++ for Engineers and Scientists
4th Edition
ISBN: 9781133187844
Author: Bronson, Gary J.
Publisher: Course Technology Ptr
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 11, Problem 5PP
a)
Program Plan Intro
Program Plan:
- Include header files and declare the required namespaces.
- Create the class Fraction with two data members:num and denom.
- Define one default constructor and one parameterized constructor in order to make fractions out of numerator and denominator.
- Overload the operators +, -, *, / in order to perform the functioning of addition, subtraction, multiplication and division respectively.
- Include the function gcd() for expressing the fraction into its lowest terms.
Program Description: The purpose of the program is to modifythe class Fractionin order to express the fraction into its lowest terms.
b)
Program Plan Intro
To include the class written in part (a) and verify that all the member functions work correctly.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
6. (Immutable Data Class Objects) Built-in types int, float, str and tuple are immutable. Data
classes can simulate immutability by designating that objects of the class should be
"frozen" after they're created. Client code cannot assign values to the attributes of a
frozen object. Research "frozen" data classes, then reimplement this chapter's Complex
class as a "frozen" data class. Show that you cannot modify a Complex object after you
create it.
(Date Class) Create a class called Date that includes three pieces of information as datamembers—a month (type int), a day (type int) and a year (type int). Your class should have a constructor with three parameters that uses the parameters to initialize the three data members. For thepurpose of this exercise, assume that the values provided for the year and day are correct, but ensurethat the month value is in the range 1–12; if it isn’t, set the month to 1. Provide a set and a get function for each data member. Provide a member function displayDate that displays the month, dayand year separated by forward slashes (/). Write a test program that demonstrates class Date’s capabilities.
(HugeInteger Class) Create a class HugeInteger that uses a 40-element array of digits tostore integers as large as 40 digits each. Provide member functions input, output, add and subtract.For comparing HugeInteger objects, provide functions isEqualTo, isNotEqualTo, isGreaterThan,isLessThan, isGreaterThanOrEqualTo and isLessThanOrEqualTo—each of these is a “predicate”function that simply returns true if the relationship holds between the two HugeIntegers and returns false if the relationship does not hold. Also, provide a predicate function isZero. If you feelambitious, provide member functions multiply, divide and modulus.
Chapter 11 Solutions
C++ for Engineers and Scientists
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- (Rectangle Class) Create a class Rectangle with attributes length and width, each of whichdefaults to 1. Provide member functions that calculate the perimeter and the area of the rectangle.Also, provide set and get functions for the length and width attributes. The set functions should verify that length and width are each floating-point numbers larger than 0.0 and less than 20.0.arrow_forward(Operator Overloads in Templates) Write a simple function template for predicate functionisEqualTo that compares its two arguments of the same type with the equality operator (==) andreturns true if they are equal and false otherwise. Use this function template in a program thatcalls isEqualTo only with a variety of fundamental types. Now write a separate version of the program that calls isEqualTo with a user-defined class type, but does not overload the equality operator.What happens when you attempt to run this program? Now overload the equality operator (withthe operator function) operator==. Now what happens when you attempt to run this program?arrow_forward(Package Inheritance Hierarchy) Use the Package inheritance hierarchy created inExercise 19.9 to create a program that displays the address information and calculates the shippingcosts for several Packages. The program should contain a vector of Package pointers to objects ofclasses TwoDayPackage and OvernightPackage. Loop through the vector to process the Packagespolymorphically. For each Package, invoke get functions to obtain the address information of thesender and the recipient, then print the two addresses as they would appear on mailing labels. Also,call each Package’s calculateCost member function and print the result. Keep track of the totalshipping cost for all Packages in the vector, and display this total when the loop terminates.arrow_forward
- (Richer Shape Hierarchy) The world of shapes is much richer than the shapes included inthe inheritance hierarchy of Fig. 19.3. Write down all the shapes you can think of—both two-dimensional and three-dimensional—and form them into a more complete Shape hierarchy with asmany levels as possible. Your hierarchy should have the base class Shape from which class TwoDimensionalShape and class ThreeDimensionalShape are derived. [Note: You do not need to write any codefor this exercise.] We’ll use this hierarchy in the exercises of Chapter 20 to process a set of distinctshapes as objects of base-class Shape. (This technique, called polymorphism, is the subject ofChapter 20.)arrow_forwardUSE PYTHON PROGRAMMING LANGUAGE(OOP) 1. (Geometry: n-sided regular polygon) An n-sided regular polygon’s sides all have the same length and all of its angles have the same degree (i.e., the polygon is both equilateral and equiangular). Design a class named RegularPolygon that contains: ■ A private int data field named n that defines the number of sides in the polygon. ■ A private float data field named the side that stores the length of the side. ■ A private float data field named x that defines the x-coordinate of the center of the polygon with a default value 0. ■ A private float data field named y that defines the y-coordinate of the center of the polygon with a default value 0. ■ A constructor that creates a regular polygon with the specified n (default 3), side (default 1), x (default 0), and y (default 0). ■ The accessor and mutator methods for all data fields. ■ The method getPerimeter() returns the perimeter of the polygon. ■ The method getArea() returns the area of the…arrow_forward(Rational Class) Create a class called Rational for performing arithmetic with fractions.Write a program to test your class. Use integer variables to represent the private data of the class—the numerator and the denominator. Provide a constructor that enables an object of this class to beinitialized when it’s declared. The constructor should contain default values in case no initializersare provided and should store the fraction in reduced form. For example, the fractionwould be stored in the object as 1 in the numerator and 2 in the denominator. Provide publicmember functions that perform each of the following tasks:a) Adding two Rational numbers. The result should be stored in reduced form.b) Subtracting two Rational numbers. The result should be stored in reduced form.c) Multiplying two Rational numbers. The result should be stored in reduced form.d) Dividing two Rational numbers. The result should be stored in reduced form.e) Printing Rational numbers in the form a/b, where a is…arrow_forward
- (Combining Class Time and Class Date) Combine the modified Time class of Exercise 17.7and the modified Date class of Exercise 17.8 into one class called DateAndTime. (In Chapter 19, we’lldiscuss inheritance, which will enable us to accomplish this task quickly without modifying the existing class definitions.) Modify the tick function to call the nextDay function if the time increments into the next day. Modify functions printStandard and printUniversal to output the dateand time. Write a program to test the new class DateAndTime. Specifically, test incrementing thetime into the next day.arrow_forward(Polynomial Class) Develop class Polynomial. The internal representation of a Polynomialis an array of terms. Each term contains a coefficient and an exponent, e.g., the term2x4has the coefficient 2 and the exponent 4. Develop a complete class containing proper constructorand destructor functions as well as set and get functions. The class should also provide the followingoverloaded operator capabilities:a) Overload the addition operator (+) to add two Polynomials.b) Overload the subtraction operator (-) to subtract two Polynomials.c) Overload the assignment operator to assign one Polynomial to another.d) Overload the multiplication operator (*) to multiply two Polynomials.e) Overload the addition assignment operator (+=), subtraction assignment operator (-=),and multiplication assignment operator (*=).arrow_forward(Polymorphic Banking Program Using Account Hierarchy) Develop a polymorphic banking program using the Account hierarchy created in Exercise 19.10. Create a vector of Accountpointers to SavingsAccount and CheckingAccount objects. For each Account in the vector, allowthe user to specify an amount of money to withdraw from the Account using member function debit and an amount of money to deposit into the Account using member function credit. As youprocess each Account, determine its type. If an Account is a SavingsAccount, calculate the amountof interest owed to the Account using member function calculateInterest, then add the interestto the account balance using member function credit. After processing an Account, print the updated account balance obtained by invoking base-class member function getBalance.arrow_forward
- (JAVA) The use case description for the View Exam Grades use case is described below. Determineclasses that are needed to implement the use case. Also, define each class's attributes andmethods. Represent class and its attributes and methods using the UML class notation.Use case name: View Exam Grades.Summary: The student looks at his/her exam grade of CS2365 OOP or CS3365 SoftwareEngineering.Actor: StudentPrecondition: None.Main sequence:1. The student enters the student ID and password into the system.2. The system checks if the student ID and password are valid.3. The system displays the course numbers (e.g., CS2365 and CS3365) if the ID andpassword are valid.4. The customer chooses only a course to view the grade.5. The system displays the course grade to the student.Alternative sequence:Step 3: If the student's ID and password are invalid, the system displays an error messageand asks to enter another ID and password into the system. If the ID and password arevalid, the system…arrow_forward(Rational Class) 1. Create a class called Rational (separate the files as shown in the chapter) for performing arithmetic with fractions. Write a program to test your class. Use integer variables to represent the private data of the class-the numerator and the denominator. Provide a constructor that enables an object of this class to be initialized when it's declared. The constructor should contain default values in case no initializers are provided and should store the fraction in reduced form. For example, the fraction 2/4 would be stored in the object as 1 in the numerator and 2 in the denominator. Provide public member functions that perform each of the following tasks: Make an overloaded operator of the + symbol for the add method - Adds two Rational numbers. The result should be stored in reduced form. Make an overloaded operator of the - symbol for the subtract method - Subtracts two Rational numbers. Store the result in reduced form. Make an overloaded operator of the *…arrow_forward(Enhanced Employee Class) Modify class Employee inFigs. 12.9–12.10 by adding a private utility function calledisValidSocialSecurityNumber . This member function shouldvalidate the format of a social security number (e.g., ###-##-#### , where # is a digit). If the format is valid, return true ;otherwise return false .arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education
functions in c programming | categories of function |; Author: Education 4U;https://www.youtube.com/watch?v=puIK6kHcuqA;License: Standard YouTube License, CC-BY