acm818
acm818

Reputation: 159

Displaying output to the right

So i am very new to programming and C++. This little simple program is my second one and I'm in need of a little assistance. Below is my code followed by the output that I am getting and what I want it to look like. If anyone can point me in the right direction, or let me know how to change this it would be much appreciated.

#include <iostream>
#include <string>
#include <iomanip>
using namespace std;

int main()
{

double propValue,    //Property Value
    assessment,   //Assessment
    srAssessment, //Sr Assessment
    taxRate,         //Tax rate
    annualPropTax,   //Annual Property tax
    quarterlyTax;  //Quarterly Tax

string name;

const double EXEMPT = 5000,      //shows the total after exemption
    QUARTER = 4,         //represents the amount of quarters in a year
    TAXPERHUNDRED = 0.01,  //represents tax rate for every $100
    SIXTYPERCENT = 0.6;  //Represents the tax based on 60% of original value


//Gets name from user
cout << "Please enter your full name: ";
getline(cin, name);

//gets property value from user
cout << "Enter the actual value of the property: ";
cin >> propValue;


//Gets tax rate
cout << "Enter the tax rate for each $100 of assessed value: ";
cin >> taxRate;

cout << endl << endl;

//Calculates assessment
assessment = propValue * SIXTYPERCENT;

//Calculates Sr. Assessment
srAssessment = assessment - EXEMPT;

//Calculates annual property tax
annualPropTax = srAssessment * taxRate * TAXPERHUNDRED;

//Calculates Quarterly tax
quarterlyTax = annualPropTax / QUARTER;


//Displays owners name
cout << "Property owner's name: " << name << endl;
cout << endl;

cout << setprecision(2) << fixed;
//Displays Assesment
cout << "Assessment: " << setw(18) << "$ " << srAssessment << endl;

//Displays Annual Property tax
cout << "Annual Property Tax" << setw(11) << "$ " << std::right << annualPropTax << endl;

//Displays Quarterly Property tax
cout << "Quarterly Property Tax" << setw(8) << "$ " << std::left << quarterlyTax;
cout << endl << endl;
}

This is the current output:

Assessment:                  $ 175000.00
Annual Property Tax          $ 7177.50
Quarterly Property Tax       $ 1780.63

What I need it to do is display as so:

Assessment:                  $ 175000.00
Annual Property Tax          $   7177.50
Quarterly Property Tax       $   1780.63

Upvotes: 0

Views: 103

Answers (2)

Travis Cook
Travis Cook

Reputation: 171

Add right in your cout statement

Here is another stack overflow post related: Right Justifying output stream in C++

std::cout << std::right << std::setw(x) << "output";

Where x is an integer to represent the width of the following "output".

Upvotes: 0

Mohit Jain
Mohit Jain

Reputation: 30489

I guess it should be intutive. Add setw to second print also:

cout << "Assessment: " << setw(18) << "$ " << setw(10) << std::right << srAssessment << endl;
//                                         ^^^^^^^^^^^^^^^^^^^^^^^^^

cout << "Annual Property Tax" << setw(11) << "$ " << setw(10) << std::right << annualPropTax << endl;
//                                                ^^^^^^^^^^^

cout << "Quarterly Property Tax" << setw(8) << "$ " << setw(10) << std::right << quarterlyTax;
//                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^

Upvotes: 3

Related Questions