Module: (C++) Real numbers


Problem

4/10

Input and output of real numbers

Theory Click to read/hide

Input of real numbers

You can enter several real variables from the input stream and write them into variables in the standard way:
double x, y;
cin >> x >> y;
The first number falls into the x variable, the second into y variable.

 

Output of real numbers

By default, cout in C++ outputs 6 decimal places for real numbers. This means that unless otherwise specified, a real number will be outputed to 6 digits. If the number has less digits after the decimal point, the missing digits will be replaced by zeros. If the number contains more digits after the decimal point, it will be rounded to 6.

If you do not explicitly specify the output precision using the setprecision function or using the fixed flag, the number will be output with that precision. For example, 81220.545 is rounded to 81220.5, since the last sign is "5" in the fifth decimal place (the 6th digit).

The output format can be customized. To do this, use the additional library iomanip - manipulators that control the output.
The fixed manipulator is used for fixed-point output, and the scientific manipulator is used for scientific output. Then you need to define the number of digits in the fractional part with the setprecision() manipulator. With the setw() manipulator you can set the total number of positions to output a number.

 
Example
#include<iomanip>
...
double x = 1.0/6;
// set to output 9 digits in the fractional part
cout << fixed << setprecision (9);  
cout << setw(12) << x << endl;                            
Output
_0.166666672                  

All operators can be written in one line:
cout << fixed << setprecision(9) << setw(12) << x << endl;

To be sure that the output is accurate, use either a fixed format, with the default number of decimal places

cout << fixed << x << endl;

Problem

Complete the tasks in order:
1. In the 8th line, format the \(y\) variable output in a fixed-point format, with the default number of characters in the fractional part
2. In the 9th line, format the \(y\) variable output in a fixed-point format so that the entire number is displayed in 10 positions, with 4 characters assigned to the fractional part
3. In the 10th line, format the \(y\) variable output so that the number is displayed in a scientific format with three digits in the fractional part
Each output statement must print a number on a new line.