Write in c++ another overloaded operator

Assignment Help C/C++ Programming
Reference no: EM13165796

Write in C++ another overloaded operator to go in the program that has Treasury. Overload the forward slash /  so that in the main program, you can declare sale to be of type Treasury, and commission to be of type Treasury, and commispctage to be of type double, writing

Treasury sale, commission;

                  double commisspctage;

                  commisspctage = 6.25;

cin>> sale;

                  cout<<sale<<" is value of sale.\n";

                  commission = sale/commisspctage;

                  cout<<"The commission is "<<commission<<endl;

 

 

Write in C++ another overloaded operator to go in the program that has Treasury. Overload the forward slash /   so that in the main program, you can declare sale to be of type Treasury, and commission to be of type Treasury, and commispctage to be of type double, writing

Treasury sale, commission;

                  double commisspctage;

                  commisspctage = 6.25;

cin>> sale;

                  cout<<sale<<" is value of sale.\n";

                  commission = sale/commisspctage;

                  cout<<"The commission is "<<commission<<endl;

 

to have it calculate the commission at 6.25 percent of the sale. (Notice that 6.25 is the percent as given in the main program. Within your function code of the overloaded operator you will need to convert that to a decimal fraction. Also in the function code, use static_cast to avoid mode-mixing between int and double

variables. Note that you will be returning something of type Treasury.

And while you're working on the program, please improve the << operator function code so it will handle outputting single-digit cents correctly.

NOTE: Test your forward slash calculation using at least these sets of data for the sale

100 dollars 0 cents

987 dollars 89 cents

23 dollars 99 cents

1359 dollars 99 cents

 

And CHECK the output by hand to make sure it gives you the correct results.



//
#include <iostream>
using namespace std;
class Treasury
{
public:
    Treasury(); // default constructor to initialize to 10 dollars and 0 cents
    Treasury(int wholedollars);    // constructor toinitialize the dollar part only
    Treasury(int dollaramt, int centsamt);   // costructor to initialize both parts
    friend Treasury operator + (const Treasury& amt1, const Treasury& amt2);
    friend ostream& operator <<(ostream& outs, const Treasury& thevalue);
    friend istream& operator >>(istream& ins, Treasury& avalue);
    friend bool operator == (const Treasury& oneside, const Treasury& otherside);
private:
    int dollars, cents;
};
int main()
{
    Treasury billfold(25,50), pocket(3,48), total, check(28,98);
    total = billfold + pocket;
    if(total == check)
        cout<<"The total amount is "<<total<<endl;    // where second << is overloaded
    else
        cout<<"Something went wrong.\n";
    // add an overload of / so that sale/commisspctage calculates the commission where commisspctage of the sale is, say, 6.25 percent   
return 0;
}
Treasury::Treasury() // default constructor to initialize to 10 dollars and 0 cents
{
    dollars = 10;
    cents = 0;
}
Treasury::Treasury(int wholedollars)    // constructor toinitialize the dollar part only
{
    dollars = wholedollars;
}
Treasury::Treasury(int dollaramt, int centsamt)   // costructor to initialize both parts
{
    dollars = dollaramt;
    cents = centsamt;
}
Treasury operator + (const Treasury& amt1, const Treasury& amt2)
{
    int totdollars, totcents;
    Treasury result;
    totdollars = amt1.dollars + amt2.dollars;
    totcents = amt1.cents + amt2.cents;
    if(totcents >= 100)
    {
        totdollars++;
        totcents = totcents % 100;
    }
    result.dollars = totdollars;
    result.cents = totcents;
    return result;
}
ostream& operator <<(ostream& outs, const Treasury& thevalue)
{
    outs<<"$"<<thevalue.dollars<<"."<<thevalue.cents;
    return outs;
}
istream& operator >>(istream& ins, Treasury& avalue)   // note: don't use const here
{
    ins>>avalue.dollars>>avalue.cents;
    return ins;
}
bool operator == (const Treasury& oneside, const Treasury& otherside)
{
    if((oneside.dollars == otherside.dollars) && (oneside.cents == otherside.cents))
        return true;
    else
        return false;
}

 

 

Reference no: EM13165796

Questions Cloud

Consider an array of integers : Consider an array of integers as below: int[] a = {5, 2, -4, 3, 0, -5, 7, 11, 6, 13} Complete the method named count(int[] a) in the class Count. The method should return the number of positive numbers in the array
The interest rate per period : The interest rate per period. For example, if your loan's interest is 6.5% per year, and you are paying monthly, this would be 6.5%/12. If you are paying every two weeks, r would be 6.5%/26, because there are 26 two-week periods in a year.
. label the rows that make good power ciphers and explain : a) Make a power table for numbers mod 11. Indicate how the table shows Fermat's theorem, label the primitive roots mod 11. Explain how you can tell they are primitive roots. Label the rows that make good power ciphers and explain
Coinflip to prompt for and input a number : Write a program and name it CoinFlip to prompt for and input a number of times to flip a coin, then to output the number of "heads" and the number of "tails" that were flipped.
Write in c++ another overloaded operator : Write in C++ another overloaded operator to go in the program that has Treasury. Overload the forward slash /  so that in the main program, you can declare sale to be of type Treasury, and commission to be of type Treasury, and commispctage to be of ..
Write a c++ program that prompts the user for a double : Write a C++ program that prompts the user for a double that should be between 0 and 100. If the value entered is outside of the interval the program will print an error message. The program should continue to repeat until the user enters an appropria..
Alphabet of 10 digits, 26 letters, and 3 punctuation marks : the ciphers in the following problem use this alphabet of 10 digits, 26 letters, and 3 punctuation marks - 39 charactters is all 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
Javascript program that asks the use : Design a javascript program that asks the user for a username with at least eight characters, beginning with a letter and including at least one digit. Next, write a validation loop to ensure that these conditions have been met
Design, simulate and verify a 16-bit ripple-carry : Design, simulate and verify a 16-bit ripple-carry adder by performing the following additions/subtractions (the values of a and b are given in decimal): (i) (-10) + (100), (ii) (63) - (-127), (iii) (15) + (95), (iv) (-32) + (79), (v) (-59) + (-16)..

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Complete the design and implementation

Complete the design and implementation of the class customerType defined in the Programming Example Video Store. b. Design and implement the class customerListType to create and maintain a list of customers for the video store.

  Skills required by personnel working in information security

What skills are required by personnel working in information security? Write down some job titles in the field and come up with some required qualifications and some desirable qualifications.

  Recognition of the problem by the hsbc

What problem did the HSBC face in this case? What people, technology, and the organization factors were responsible for problem? Did HSBC management correctly recognize the problem?

  Create a file, shared.txt

When your program starts, it shall do the following:1. Create a file, SHARED.txt, in the current directory (cwd). 2. Write it's pid (Process ID) followed by a Carriage Return and Newline in the file.

  Describe an example application of polymorphism

Provide and describe an example application of polymorphism that could be used in a program solution. List and describe the class relationships.

  After the user presses any key

After the user presses any key, the board will be scrambled by making a large number of random moves (for a 3x3 puzzle, 100,000 attempted random moves in random directions will result in a sufficiently scrambled board)

  Dealerships are awarded the rebate

Dealerships are awarded the rebate on a quarter-by-quarter basis, only for quarters where their actual sales exceeded expected volumes for that quarter. Expected sales volumes for each quarter are as follows:

  Write program which prompts user to enter numbers

Write down the program which prompts the user to enter numbers, findsout how many positive and negative values have been entered, and calculates sum and average of numbers entered.

  Functions to compute stress and strain in steel rod

Write a main function and the following functions to compute the stress and strain in a steel rod of diameter D (inches) and length L (inches) subject to the compression loads P of 10,000 to 1,000,000 pounds.

  Implement a graphics system that has classes

Implement a graphics System that has classes for various figures: rectangles, squares, triangles and circles. A rectangle has data members height, width, color , and center point. A square has center point and an edge and color

  The first will be a structure called point

Create two structures. The first will be a structure called Point and will have as its data members an x and y coordinate. The second will be called Line and will have two Point structures as its data members.

  State diagram to recognize one form

Design a state diagram to recognize one form of the comments of the C-based programming languages, those that begin with /* and end with */. and also Write and test the code to implement the state diagram.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd