944,092 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 3560
  • C++ RSS
Oct 21st, 2004
0

Amature Program- Lacking

Expand Post »
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;
Similar Threads
Reputation Points: 11
Solved Threads: 0
Newbie Poster
dcving is offline Offline
20 posts
since Sep 2004
Oct 21st, 2004
0

Re: Amature Program- Lacking

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:
C++ Syntax (Toggle Plain Text)
  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
Reputation Points: 26
Solved Threads: 4
Junior Poster
Stack Overflow is offline Offline
185 posts
since Sep 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: List Setup
Next Thread in C++ Forum Timeline: Help with fstream





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC