
Concept explainers
Solution to Practice
Redefine CDAccount from Display 10.1 so that it is a class rather than a structure. Use the same member variables as in Display 10.1 but make them private. Include member functions for each of the following: one to return the initial balance, one to return the balance at maturity, one to return the interest rate, and one to return the term. Include a constructor that sets all of the member variables to any specified values, as well as a default constructor. Embed your class definition in a test program.

Redefine CDAccount
Program Plan:
- Include the necessary libraries.
- Use namespace.
- Define a class.
- Declare the member functions as public.
- Declare the variables as private.
- Define the main method.
- Declare the variables that are required for the program.
- Call the function.
- Display the messages.
- Add member functions
- Default constructor.
- Constructor to set specified values.
- To return interest rate.
- To return initial balance.
- To return balance at maturity.
- To return the term.
- input function (istream&);
- output function (ostream&);
Program Description:
The following C++ program redefines CDAccount from Display 10.1 to be a class rather than struct.
Explanation of Solution
Program:
//Include libraries
#include <iostream>
//Use namespace
using namespace std;
//Define class
class CDAccount
{
//Public specifiers
public:
//Declare member functions
CDAccount();
CDAccount(double bal, double intRate, int T);
double InterestRate();
double InitialBalance();
double BalanceAtMaturity();
int Term();
void input(istream&);
void output(ostream&);
//Private specifiers
private:
//Declare variables
double balance;
double interestRate; // in PER CENT
int term; // months to maturity;
};
//Main function
int main()
{
//Declare variables
double balance; double intRate;
int term;
//Constructor
CDAccount account = CDAccount(100.0, 10.0, 6);
//Display message
cout << "CD Account interest rate: "
<< account.InterestRate() << endl;
//Display message
cout << "CD Account initial balance: "
<< account.InitialBalance() << endl;
//Display message
cout << "CD Account balance at maturity is: "
<< account.BalanceAtMaturity() << endl;
//Display message
cout << "CD Account term is: " << account.Term()
<< " months" << endl;
account.output(cout);
//Display message
cout << "Enter CD initial balance, interest rate, "
<< " and term: " << endl;
account.input(cin);
//Display message
cout << "CD Account interest rate: "
<< account.InterestRate() << endl;
//Display message
cout << "CD Account initial balance: "
<< account.InitialBalance() << endl;
//Display message
cout << "CD Account balance at maturity is: "
<< account.BalanceAtMaturity() << endl;
//Display message
cout << "CD Account term is: " << account.Term()
<< " months" << endl;
account.output(cout);
//Newline character
cout << endl;
//Pause console window
system("pause");
}
//Default constructor
CDAccount::CDAccount() { /* do nothing */ }
//Constructor to set specified values
CDAccount::CDAccount(double bal, double intRate, int T)
{
balance = bal;
interestRate = intRate;
term = T;
}
//Function to return interest rate
double CDAccount::InterestRate()
{
//Return value
return interestRate;
}
//Function to return initial balance
double CDAccount::InitialBalance()
{
//Return value
return balance;
}
//Function to return the balance at maturity
double CDAccount::BalanceAtMaturity()
{
//Return value
return balance * (1 + (interestRate / 100)*(term / 12.0));
}
//Function to return the term
int CDAccount::Term()
{
//Return value
return term;
}
//Input Function
void CDAccount::input(istream& inStream)
{
//Store value
inStream >> balance;
inStream >> interestRate;
inStream >> term;
}
//Output function
void CDAccount::output(ostream& outStream)
{
//Display values
outStream.setf(ios::fixed);
outStream.setf(ios::showpoint);
outStream.precision(2);
//Display message
outStream << "when your CD matures in " << term
<< " months" << endl
<< "it will have a balance of "
<< BalanceAtMaturity() << endl;
}
Output:
CD Account interest rate: 10
CD Account initial balance: 100
CD Account balance at maturity is: 105
CD Account term is: 6 months
when your CD matures in 6 months
it will have a balance of 105.00
Enter CD initial balance, interest rate, and term:
100
10
12
CD Account interest rate: 10.00
CD Account initial balance: 100.00
CD Account balance at maturity is: 110.00
CD Account term is: 12 months
when your CD matures in 12 months
it will have a balance of 110.00
Press any key to continue . . .
Want to see more full solutions like this?
Chapter 10 Solutions
Problem Solving with C++ (9th Edition)
Additional Engineering Textbook Solutions
Mechanics of Materials (10th Edition)
Database Concepts (8th Edition)
Computer Science: An Overview (13th Edition) (What's New in Computer Science)
Starting Out with Python (4th Edition)
Java: An Introduction to Problem Solving and Programming (8th Edition)
Electric Circuits. (11th Edition)
- I would like to get help to draw an object relationship diagram for a typical library system.arrow_forwardhttps://docs.google.com/document/d/1lk0DgaWfVezagyjAEskyPoe9Ciw3J2XUH_HQfnWSmwU/edit?usp=sharing using the link for the case study answer the below questionarrow_forwardFinally, your going to write several small javascript functions to practice with javascript core programming (basically just using javascript as a normal scripting language). For each section you can hardcode input values, and all output should go to console (we'll worry about the actual web page on Assignment 4). You can complete these all in one HTML file, or create one file for each part.arrow_forward
- Write a C program to calculate the checksum for a given line of an IntelHex file. To get full points, you must be able to explain to the instructor the individual parts of the IntelHex line (see below), as well as any part of your code. Definition:The checksum is calculated as the two's complement of the sum of the individual bytes from the beginning of the line to the checksum. Example:If you enter this string: :10010000214601360121470136007EFE09D21901XX You should get a checksum of 40 instead of XX. Demonstrate the completion of the task by calculating checksums, for example, for the following strings: :100010000C9445000C9445000C9445000C944500xx:100020000C9445000C9445000C9445000C944500xx:100030000C9445000C9445000C9445000C944500xx:100040000C9445000C9445000C9445000C944500xxarrow_forwardWrite a program to calculate the function sin(x) or cos(x) using a Taylor series expansion around the point 0. In other words, you will program the sine or cosine function yourself, without using any existing solution. You can enter the angles in degrees or radians. The program must work for any input, e.g. -4500° or +8649°. The function will have two arguments: float sinus(float radians, float epsilon); For your own implementation, use one of the following relations (you only need to program either sine or cosine, you don't need both): Tip 1: Of course, you cannot calculate the sum of an infinite series indefinitely. You can see (if not, look in the program) that the terms keep getting smaller, so there will definitely be a situation where adding another term will not change the result in any way (see problem 1.3 – machine epsilon). However, you can end the calculation even earlier – when the result changes by less than epsilon (a pre-specified, sufficiently small number, e.g.…arrow_forwardWrite a C program that finds and prints the machine epsilon for the float and double data types. Also print the values of __FLT_EPSILON__ and __DBL_EPSILON__ defined in float.h. Reminder – the phrase data type tells how the compiler “understands” the ones and zeros you are working with. This identifies whether you are working with integers, letters, real numbers, and so on. Another definition:Machine epsilon is the "distance" between the number 1 and its immediate right neighbor. We work in binary (decimal is in parentheses): 1 + 0,1 = 1,1 (1 + 1/2 = 1,5) 1 + 0,01 = 1,01 (1 + 1/4 = 1,25) 1 + 0,001 = 1,001 (1 + 1/8 = 1,125) then, due to the limited accuracy of the computer at a certain number of decimal places, a situation arises where 1 + 0.0…001 = 1 (instead of the correct 1.0…001). Then the previous number 0.0…01 is called the machine epsilon . It is obvious that its value may be different on different computers. However, the machine…arrow_forward
- Write a program that performs a rotational bit shift to the right for a positive integer. The user enters a number, the number of bits to shift (and, if you want, the direction of the shift, but right is enough). Example:The number 9 (in binary form 1001) when rotated to the right by 1 bit becomes 1100. Tip : A bit rotation (also known as a cyclic shift) is an operation in which the bits in a binary number are shifted a certain number of places to the right or left, with bits that “fall out” at one end being returned to the opposite end. So, start with a bit shift operation. Write a few examples on paper before programming.Tip : Use the unsigned int data type.You can get the number of bits of this data type as follows: int bit_count = sizeof (unsigned int ) * 8arrow_forwardI need help resolving the following case problemarrow_forwardClick Here for the Solution 27. Write a Program for Insertion Sort in Java. Time Complexity: O(N 2) Space Complexity: 0(1) Click Here for the Solutionarrow_forward
- Counting ten tennis ball going into a box From a conveyor belt I want to write a assignment about this topicarrow_forwardI need fixing my a matlab code to find the currents USING MARTIXS AND INVERSE to find the current % At this point We Enter the Resistor values and Voltage Source Values fprintf('Provide Resistance Values for the Resistors as Requested: \n'); fprintf('===============================================\n'); R1x = input('Enter the value for R1 in kohms: '); R2x = input('Enter the value for R2 in kohms: '); R3x = input('Enter the value for R3 in kohms: '); R4x = input('Enter the value for R4 in kohms: '); fprintf('Provide voltage values for as requested: \n'); fprintf('===============================================\n'); E1 = input('Enter the value of E1 in Volts: '); E2 = input('Enter the value of E2 in Volts: '); E3 = input('Enter the value of E3 in Volts: '); fprintf('===============================================\n'); % Scaling FACTOR multiplication of resistors by 1000 (1K) each R1 = 1000 * R1x; R2 = 1000 * R2x; R3 = 1000 * R3x; R4 = 1000 * R4x; fprintf('VALUES YOU HAVE ENTERED FOR YOUR…arrow_forwardSuppose that the two Rank methods below are added to the Skip List class on Blackboard. public int Rank(T item) Returns the rank of the given item. public T Rank(int i) Returns the item with the given rank i. Requirements 1. Describe in a separate Design Document what additional data is needed and how that data is used to support an expected time complexity of O(log n) for each of the Rank methods. Show as well that the methods Insert and Remove can efficiently maintain this data as items are inserted and removed. (7 marks) 2. Re-implement the methods Insert and Remove of the Skip List class to maintain the augmented data in expected O(log n) time. Using the Contains method, ensure that added items are distinct. (6 marks) 3. Implement the two Rank methods. (8 marks) 4. Test your new methods thoroughly. Include your test cases and results in a Test Document. (4 marks)arrow_forward
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,
- Programming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTProgramming with Microsoft Visual Basic 2017Computer ScienceISBN:9781337102124Author:Diane ZakPublisher:Cengage Learning




