C++ #include #include class DollarAmount { public: // initialize amount from an int64_t value explicit DollarAmount(int64_t value) : amount{value} { } // add right's amount to this object's amount void add(DollarAmount right) { // can access private data of other objects of the same class amount += right.amount; } // subtract right's amount from this object's amount void subtract(DollarAmount right) { // can access private data of other objects of the same class amount -= right.amount; } // uses integer arithmetic to calculate interest amount, // then calls add with the interest amount void addInterest(int rate, int divisor) { // create DollarAmount representing the interest DollarAmount interest{ (amount * rate + divisor / 2) / divisor }; add(interest); // add interest to this object's amount } // return a string representation of a DollarAmount object std::string toString() const { std::string dollars{std::to_string(amount / 100)}; std::string cents{std::to_string(std::abs(amount % 100))}; return dollars + "." + (cents.size() == 1 ? "0" : "") + cents; } private: int64_t amount{0}; // dollar amoun

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

C++

#include <string>
#include <cmath>

class DollarAmount {
public:
// initialize amount from an int64_t value
explicit DollarAmount(int64_t value) : amount{value} { }

// add right's amount to this object's amount
void add(DollarAmount right) {
// can access private data of other objects of the same class
amount += right.amount;
}

// subtract right's amount from this object's amount
void subtract(DollarAmount right) {
// can access private data of other objects of the same class
amount -= right.amount;
}

// uses integer arithmetic to calculate interest amount,
// then calls add with the interest amount
void addInterest(int rate, int divisor) {
// create DollarAmount representing the interest
DollarAmount interest{
(amount * rate + divisor / 2) / divisor
};

add(interest); // add interest to this object's amount
}

// return a string representation of a DollarAmount object
std::string toString() const {
std::string dollars{std::to_string(amount / 100)};
std::string cents{std::to_string(std::abs(amount % 100))};
return dollars + "." + (cents.size() == 1 ? "0" : "") + cents;
}
private:
int64_t amount{0}; // dollar amount in pennies
};

### 5.31 (DollarAmount Arithmetic)

#### Objective
Enhance the class `DollarAmount` from Exercise 5.30 by implementing a `divide` member function.

#### Requirements
- **Member Function**: Implement the `divide` function that:
  - Receives an `int` parameter.
  - Divides the `amount` data member by this parameter.
  - Stores the rounded result back in the `amount` data member.

- **Rounding Technique**: Use similar rounding techniques as those employed in the `addInterest` member function.

#### Testing
- Thoroughly test your newly implemented `divide` member function to ensure accuracy and functionality.
Transcribed Image Text:### 5.31 (DollarAmount Arithmetic) #### Objective Enhance the class `DollarAmount` from Exercise 5.30 by implementing a `divide` member function. #### Requirements - **Member Function**: Implement the `divide` function that: - Receives an `int` parameter. - Divides the `amount` data member by this parameter. - Stores the rounded result back in the `amount` data member. - **Rounding Technique**: Use similar rounding techniques as those employed in the `addInterest` member function. #### Testing - Thoroughly test your newly implemented `divide` member function to ensure accuracy and functionality.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Data members
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
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education