2016-02-19 5 views
-1

Так что я очень новичок в программировании и C++. Эта небольшая простая программа - моя вторая, и мне нужна небольшая помощь. Ниже приведен мой код, за которым следует результат, который я получаю, и то, что я хочу, чтобы он выглядел. Если кто-нибудь может указать мне в правильном направлении или дать мне знать, как это изменить, это будет очень признательно.Отображение вывода вправо

#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; 
} 

Это выходной ток:

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

Что мне нужно сделать, это дисплей, как так:

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

К сожалению, 'setw()' используется только для одного поля, вы должны продолжать добавлять его перед каждым выходом. – Galik

ответ

3

Я предполагаю, что это должно быть intutive. Добавить setw в second print также:

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; 
//             ^^^^^^^^^^^^^^^^^^^^^^^^^ 
0

Добавить право в вашем соиЬ заявлении

Вот еще переполнение стека после связанные: Right Justifying output stream in C++

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

где х представляет собой целое число, чтобы представить ширину следующего «выхода».

Смежные вопросы