| The manipulators discussed on this page require the header file named
         iomanip.h
 #include  <iostream.h>
 #include   <iomanip.h>
 
 Formatting output is important in developing output screens
        which can be easily read and understood by the program users.  C++ offers 
        the programmer several
        input/output manipulators.  Two
        of these I/O manipulators are  setw and
        setprecision.
 
 
          
            
              | 
                  
                    
                      | 
                         | The setw
                         manipulator
                         sets the width of the field
                        assigned for the output.   It takes the size of the field (in number of characters) as a parameter. |    For example, the code: 
 cout << setw(6) <<"R";
 
 generates the following output on the screen (each underscore represents a 
                blank space)
 			_ _ _ _ _R   The  setw( ) is the only manipulator that
                 does not stick from one command to the next. 
                If you want to right-justify three numbers with an 8-space output width, you
                will need to repeat  setw( )
                in this manner:cout << setw(8) << 22 << "\n";
 cout << setw(8) << 4444 << "\n";
 cout << setw(8) << 666666 << endl;
 The output will be (each
                underscore represents a blank space)_ _ _ _ _ _ 2 2
 _ _ _ _ 4 4 4 4
 _ _ 6 6 6 6 6 6
 
 |  
 
 
 
          
            
              | 
                  
                    | 
                       | The  setprecision manipulator
                       sets the total number of digits to be displayed when floating point numbers are output. |  For example, the code:
 cout << setprecision(5) << 123.456;
 
 generates the following output on the screen (notice the
                rounding):
 
 123.46
 
 The  setprecision manipulator can also
                 set the number of decimal places
                displayed.  If you wish to use setprecision in
                this manner, you must set an ios flag.  The flag is set with the following statement:
 cout.setf(ios::fixed);
 Once the flag has been set, the number you pass as a parameter to setprecision is the number of decimal places
                you wish displayed.  For example, the code:
 cout.setf(ios::fixed);
 cout << setprecision(5) << 12.345678;
 
 generates the following output on the screen (notice no
                rounding):
 
 12.34567
 
 |  
 
          
            
              | 
                  
                    
                      | 
                         | Additional IOS flags:
 cout.setf(ios::fixed)		// "fixed" is a format option
 
 |  Other format options include: 
                  
                    
                      | left | left-justifies the output |  
                      | right | right-justifies the output |  
                      | showpoint | displays decimal point and trailing zeros for all floating point
                        numbers, even if the decimal places are not needed. |  
                      | uppercase | displays the "e" in E-notation as "E" rather than "e" |  
                      | showpos | displays a leading plus sign before positive values |  
                      | scientific | displays floating point numbers in scientific ("E") notation |  
                      | fixed | displays floating point numbers in normal notation - no trailing
                        zeroes and no scientific notation |    **Note:   If neither the scientific nor fixed option is set, the compiler decides
                upon the method used to display floating-point numbers based on whether the number can be displayed more efficiently in scientific or fixed notation. **Note:   You can remove these options by replacing
                 setf  with  unsetf.
 
 |  Example:
 #include <iostream.h>
 
 int main(void)
 {
 float x = 18.0;
 cout<< x << endl;              
        //displays 18
 cout.setf(ios::showpoint);
 cout<< x << endl;              
        //displays 18.0000
 cout.setf(ios::scientific);
 cout<< x << endl;              
        //displays 1.800000e+001
 cout.unsetf(ios::showpoint);
 cout.unsetf(ios::scientific);
 cout<<x<<endl;                 
        //displays 18
 
 return 0;
 }
  
         To print 5.8 as 5.80 the following lines of code are
        needed(particularly nice for displaying amounts of money):
 
 cout.setf(ios::fixed);             
        //Sets the cout flag for fixed-point
 //non-scientific notation trailing zeros
 cout.setf(ios::showpoint);    //Always shows decimal point
 cout << setprecision(2);      //Two decimal places
 cout << 5.8;
 
 
          
            
              | All subsequent  couts retain the precision set with the last
                 setprecision( ).  Think of setprecision as being
                "sticky."  Whatever precision you set sticks with the
                 cout device until you change it with a subsequent
                 setprecision( ) later in the program. |  |