123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- // setf2.cpp -- using setf() with 2 arguments to control formatting
- #include <iostream>
- #include <cmath>
- int main()
- {
- using namespace std;
- // use left justification, show the plus sign, show trailing
- // zeros, with a precision of 3
- cout.setf(ios_base::left, ios_base::adjustfield);
- cout.setf(ios_base::showpos);
- cout.setf(ios_base::showpoint);
- cout.precision(3);
- // use e-notation and save old format setting
- ios_base::fmtflags old = cout.setf(ios_base::scientific,
- ios_base::floatfield);
- cout << "Left Justification:\n";
- long n;
- for (n = 1; n <= 41; n+= 10)
- {
- cout.width(4);
- cout << n << "|";
- cout.width(12);
- cout << sqrt(double(n)) << "|\n";
- }
- // change to internal justification
- cout.setf(ios_base::internal, ios_base::adjustfield);
- // restore default floating-point display style
- cout.setf(old, ios_base::floatfield);
- cout << "Internal Justification:\n";
- for (n = 1; n <= 41; n+= 10)
- {
- cout.width(4);
- cout << n << "|";
- cout.width(12);
- cout << sqrt(double(n)) << "|\n";
- }
- // use right justification, fixed notation
- cout.setf(ios_base::right, ios_base::adjustfield);
- cout.setf(ios_base::fixed, ios_base::floatfield);
- cout << "Right Justification:\n";
- for (n = 1; n <= 41; n+= 10)
- {
- cout.width(4);
- cout << n << "|";
- cout.width(12);
- cout << sqrt(double(n)) << "|\n";
- }
- // std::cin.get();
- return 0;
- }
|