# Thread: Showpoint fixed and other stuff

1. ## Showpoint fixed and other stuff

Code:
```// September 27, 2003
// Takes input numbers for a register and calculates cost

#include <iostream.h>
#include <iomanip.h>
#define __USE_STD_IOSTREAM

int main(void)

{

// Declarations
int TV = 0;
int VCR = 0;
int CTRLR = 0;
int CDS = 0;
int RCRDR = 0;
float subtotal = 0;
float sales_tax = 0;
float total = 0;
float TVcost = 0;
float VCRcost = 0;
float CTRLRcost = 0;
float CDScost = 0;
float RCRDRcost = 0;

// Output / Input
cout << "\n\nHow many TVs were sold? ";
cin >> TV;
cout << "\nHow many VCRs were sold? ";
cin >> VCR;
cout << "\nHow many remote controls were sold? ";
cin >> CTRLR;
cout << "\nHow many CDs were sold? ";
cin >> CDS;
cout << "\nHow many tape recorders were sold? ";
cin >> RCRDR;
cout << "\n\n";

// Calculations
TVcost = TV * 400;
VCRcost = VCR * 220;
CTRLRcost = CTRLR * 35.20;
CDScost = CDS * 300;
RCRDRcost = RCRDR * 150;
subtotal = TVcost + VCRcost + CTRLRcost + CDScost + RCRDRcost;
sales_tax = subtotal * .825;
total = subtotal + sales_tax;

// Output

cout << "QTY  DESCRIPTION    UNIT PRICE   TOTAL PRICE\n"
<< "---  -----------    ----------   -----------\n"
<< TV << setw(3) << "     TV 400.00";
cout << setprecision(2) << showpoint << fixed << TVcost << "\n";
cout << VCR << setw(3) << "     VCR 220.00" << VCRcost << "\n"
<< CTRLR << setw(3) <<"     REMOTE CTRLR 35.20" << CTRLRcost << "\n"
<< CDS << setw(3) << "     CD PLAYER 300.00" << CDScost << "\n"
<< RCRDR << setw(3) << "     TAPE RECORDER 150.00"<< RCRDRcost << "\n"
<< setw(45) << "-----------\n"
<< "SUBTOTAL " << setfill('*') << setw(7) << subtotal << "\n"
<< "TAX" << setfill(' ') << setw(15) << sales_tax << "\n"
<< "TOTAL" << setw(13) << total << "\n\n";

return 0; // Terminate main
}```
Yes I know thats messy. The program is supposed to display a table of what quantity you entered, description, and cost, etc. I have a few problems I can't seem to fix. If theres more than single digits inside the quantity column the description won't line up. Heres sorta what I'm talking about:

Code:
```QTY  DESCRIPTION
---   ------------------
1      TV
10       VCR```
That and I can't get fixed and showpoint to work. And once I get them working I can't figure out how to get them to only work on the total price of things so they will display two decimals, and not have the quantity showing decimals.

2. You could use SetConsoleCursorPosition() to move the cursor and then write your text, that way spacing wouldnt matter...Check out

3. That completely lost me.

*Edit*

This is making absolutely no sense to me. Heres the table section of code I currently have.

Code:
```cout << "QTY   DESCRIPTION    UNIT PRICE   TOTAL PRICE\n"
<< "---   -----------    ----------   -----------\n"
<< TV << setw(14) << "TV 400.00" << TVcost << "\n"
<< VCR << setw(14) << "VCR 220.00" << VCRcost << "\n"
<< CTRLR << setw(14) <<"REMOTE CTRLR 35.20" << CTRLRcost << "\n"
<< CDS << setw(14) << "CD PLAYER 300.00" << CDScost << "\n"
<< RCRDR << setw(14) << "TAPE RECORDER 150.00"<< RCRDRcost << "\n"
<< setw(46) << "-----------\n"
<< "SUBTOTAL " << setfill('*') << setw(7) << subtotal << "\n"
<< "TAX" << setfill(' ') << setw(15) << sales_tax << "\n"
<< "TOTAL" << setw(13) << total << "\n\n";```
And it displays this after I compile:
Code:
```QTY   DESCRIPTION    UNIT PRICE   TOTAL PRICE
---   -----------    ----------   -----------
1     TV 400.00400
1    VCR 220.00220
1REMOTE CTRLR 35.2035.2
1CD PLAYER 300.00300
1TAPE RECORDER 150.00150
-----------
SUBTOTAL *1105.2
TAX         911.79
TOTAL      2016.99```
Why aren't the setw working?

4. ## try this

format for one number at a time...

Code:
```cout << setiosflags(ios::fixed) // fixed
<< setiosflags(ios::showpoint) // always show decimal
<< setprecision(2) // two decimal places
<< setw (14) // field with to 14
<< number // the number you want to display
<< endl;```
you should also format certain things to be left and right justified...

this might help to...you need to unset flags after (like justification)

eg
cout.unsetf(ios::left)

5. Thanks for the help the setflag stuff worked and I figured out the other problems.