Amature Program- Lacking

Please support our C++ advertiser: Intel Parallel Studio Home
Reply

Join Date: Sep 2004
Posts: 20
Reputation: dcving is an unknown quantity at this point 
Solved Threads: 0
dcving's Avatar
dcving dcving is offline Offline
Newbie Poster

Amature Program- Lacking

 
0
  #1
Oct 21st, 2004
how do I get the high-lighted lines below to round up to just two (2) decimal places using the setprecision?
// Program description: Calculate the price, including taxes, of a water bill
// given the amount of water in gallons
// Author: Eric Martin
// Date: 10.21.2004

#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;

int main (){
// Declare identifiers

float Water;
float Srate;
float Wrate;
float Gallons;
float Taxes;
float Total1;
float Total2;

// Initiailize identifiers

cout << " How much water was used in one month?: ";
cin >> Water;

// Formulate
Gallons = Water / 100;
Wrate = Gallons * .021;
Srate = Gallons * .001;
Total1 = Wrate + Srate;
Taxes = Total1 * .02;
Total2 = Total1 + Taxes;

std::cout << " The amount of water used this month----------" << Gallons << endl;

std::cout << " Amount due for use of water---------- " << setprecision(0) << Wrate << endl;

std::cout << " Amount due for sewage---------- "<< setprecision(0) << Srate << endl;

std::cout << " Total water and sewage charge---------- " << setprecision(0) << Total1 << endl;

std::cout << " Total amount of taxes---------- " << setprecision(0) << Taxes << endl;

cout << " TOTAL AMOUNT DUE---------- " << setprecision(0) << Total2 << endl;
getch();
return 0;
Reply With Quote Quick reply to this message  
Join Date: Sep 2004
Posts: 185
Reputation: Stack Overflow is an unknown quantity at this point 
Solved Threads: 4
Stack Overflow's Avatar
Stack Overflow Stack Overflow is offline Offline
C Programmer

Re: Amature Program- Lacking

 
0
  #2
Oct 21st, 2004
Greetings dcving,

Fixing this issue is quite simple. Let me expound.

By using setprecision, you asked for two places, and it printed two places. If instead you want two decimal places (positions to the right of the decimal point), you must first choose the fixed-point format. For example:
  1. cout << setiosflags(ios::fixed) << setprecision(2) << x;
The default C++ stream behavior for setprecision(n) is to apply the specification to the entire number, not the fractional part. If this is not what you want, set the fixed-point format first. Furthermore, setiosflags sets the format flags specified by parameter mask. Here is a list of the flags and their description:
flag			effect if set
ios_base::boolalpha	input/output bool objects as alphabetic names (true, false).
ios_base::dec		input/output integer in decimal base format.
ios_base::fixed		output floating point values in fixed-point notation.
ios_base::hex		input/output integer in hexadecimal base format.
ios_base::internal	the output is filled at an internal point enlarging the output up to the field width.
ios_base::left		the output is filled at the end enlarging the output up to the field width.
ios_base::oct		input/output integer in octal base format.
ios_base::right		the output is filled at the beginning enlarging the output up to the field width.
ios_base::scientific	output floating-point values in scientific notation.
ios_base::showbase	output integer values preceded by the numeric base.
ios_base::showpoint	output floating-point values including always the decimal point.
ios_base::showpos	output non-negative numeric preceded by a plus sign (+).
ios_base::skipws	skip leading whitespaces on certain input operations.
ios_base::unitbuf	flush output after each inserting operation.
ios_base::uppercase	output uppercase letters replacing certain lowercase letters.
Hope this helps,
- Stack Overflow
Following the rules will ensure you get a prompt answer to your question. If posting code, please include BB [code][/code] tags. Your question may have been asked before, try the search facility.

IRC
Channel: irc.daniweb.com
Room: #c, #shell
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the C++ Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC