No Slide Title
Download
Report
Transcript No Slide Title
Formatting Output
Escape Sequences
iomanip.h Objects
setw()
setiosflags(…)
setprecision()
Output cout
The object cout is used to direct data to the
ststandard output device, usually the monitor.
w predefined stream object
w in iostream library
w used with insertion operator <<
*
Output cout
Syntax: cout << ExprOrString;
Read << as “put to”.
cout << 24;
cout << ‘y’;
cout << “Hello”;
Note: none of these contain a “\n” or endl, and
thus may not be displayed immediately.
*
Output cout
Syntax: cout << ExprOrString;
cout
cout
cout
cout
<<
<<
<<
<<
“The answer to question “;
q_num
q_num;
5
“ is “;
pay_rate
1.5 * pay_rate;
6
cout << endl; // force a new line and flush
The answer to question 5 is 9.0
*
Output cout
Syntax: cout << ExprOrString << ExprOrString;
Each appends data to the stream.
cout << “Num1 * num2 is “ << num1*num2;
OUTPUT
Num1 * num2 is 110
space
**
Output cout
Syntax: cout << ExprOrString << ExprOrString;
Each appends data to the stream.
cout << “Num =“ << 35.1;
OUTPUT
Num =35.1
no space
**
Spaces – Essential for Strings
Syntax: cout << ExprOrString << ExprOrString;
Each appends data to the stream.
cout << “Hi, “ << name << “how are you?”;
space
no space
OUTPUT
Hi, Shadowhow are you?
***
Output cout
Syntax: cout << ExprOrString << ExprOrString;
cout
cout
cout
cout
<<
<<
<<
<<
“The answer to question “;
q_num;
“ is “;
1.5 * pay_rate;
no ;
align the put-to operators for good style
cout << “The answer to question “ << qu_num
<< “ is “<< 1.5 * pay_rate;
**
More Multi-line Syntax
Syntax: cout << ExprOrString << ExprOrString
<< ExprOrString ;
Strings should never span multiple lines
error
cout << “The answer to question number 17 is
listed after question “;
no ;
cout << lastqu << ‘.’;
cout << “The answer to question number 17 “
<< “is listed after question “ << lastqu
<< ‘.’;
**
Escape Sequences
\
Changes the meaning of the character
that follows it.
\n
hard return
\t
tab
\\
\
\”
“
\a
beep or bell
These must be within quotation marks.
Escape Sequences
cout << “Name\tTotal\tGrade\n”;
cout << “Miyo\t186\t B\n”;
cout << “\n Jake\t211\t A\n”;
cout << “Syd\t203\t A\n”;
OUTPUT
Name
Miyo
\n \n gives a
blank line
Jake
Syd
_
Total
186
211
203
Grade
B
A
A
*
Escape Sequences
\
Changes the meaning of the character
that follows it.
\”
take quotes literally
“James \”Big Jim\” Traficant”
gives
James “Big Jim” Traficant
*
Escape Sequences
“\n Alfonsus\n\”Butch\” \nBillone”
gives
Alfonsus
“Butch”
Billone
“|\n Alfonsus\n \t \”Butch\” \tBillone|”
gives
|
Alfonsus
“Butch” Billone|
****
Formatting Output
endl
does the same thing as \n
- inserts a hard return
requires the insertion operator
cout << endl << endl;
is the same as:
cout << “\n\n”;
2.3 Numerical Output using
cout
Using cout to output the results of an
arithmetic expression
• Numerical output should be displayed
attractively
• Programs are often judged on the
presentation of their output, (in addition to
the accuracy of the results)
• For example, $1.897 is not acceptable
output
cout Syntax
cout << ExprOrStringOrManipulator
<< ExprOrStringOrManipulator...;
For Example:
cout << setw(5) << 350; uses field width of 5
cout << setw(7) << 350; uses field width of 7
Formatting Output
the iomanip header file contains
objects which have special
effects on the iostream.
#include <iostream>
#include <iomanip>
*
Formatting Output
iomanip contains the objects which have
special effects on the iostream.…… …...
setw(n)
setprecision(n)
how many columns for
data
sets number of decimals
setiosflags(ios::fixed) displays 6 digits after
the decimal
***
Formatting Output
setw(n)
how many columns for data
cout << setw(4) << ans cout << setw(1) << ans
<< setw(5) << num
<< setw(3) << num
<< setw(4) << “Hi”;
<< setw(3) << “Hi”;
o337132oHi
337132Hi
fields expand
**
Formatting Output
setprecision(n) sets number of decimals
x=
format
result
314.0
setw(10)
setprecision(2)
ooo314.00
314.0
314.0
setw(10)
setprecision(5)
setw(7)
setprecision(5)
point counts
314.00000
314.00000
columns added
***
Formatting Output
setiosflags(ios::fixed) displays 6 digits after
the decimal
#include<iostream>
#include<iomanip>
using namespace std;
void main()
{
double v = 0.00123456789;
double w = 1.23456789;
double x = 12.3456789;
double y = 1234.56789;
double z = 12345.6789;
Formatting Output
cout <<v<< endl<<w<< endl <<x<< endl
<<y<< endl <<z<<”\n\n”;
cout << setiosflags(ios::fixed);
cout <<v<< endl <<w<< endl <<x<< endl
<<y<< endl <<z<<”\n\n”;
cout << setprecision(2);
cout <<v<< endl <<w<< endl <<x<< endl
<<y<< endl <<z<<”\n\n”;
}
Formatting Output
default
0.00123457
1.23457
12.3457
1234.57
12345.7
ios::fixed
0.001235
1.234568
12.345679
1234.567890
12345.678900
+ setprecision(2)
0.00
1.23
12.35
1234.57
12345.68
Numerical output with cout
An example from the 2nd Edition text:
output
6
#include <iostream>
18
using namespace std;
124
int main()
--{
149
cout << 6 << ‘\n’
<< 18 << ‘\n’
<< 124 << ‘\n’
<< “---\n”
<< 6+19+124 << ‘\n’;
return 0;
}
Numerical output with cout
Same example using setw( ):
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << setw(3) << 6 << ‘\n’
<< setw(3) << 18 << ‘\n’
<< setw(3) << 124 << ‘\n’
<< “---\n”
<< 6+19+124 << ‘\n’;
return 0;
}
output
6
18
124
--149
Formatting Output
For decimal alignment use:
ios::fixed and setprecision( )
setw( )
use setw( ) each time
cout << setiosflags(ios::fixed) << setprecision(n);
l
l
l
cout << “- -” << setw(n) << var1 << setw(n) << “- -”;
cout << “- -\t” << setw(n) << var1 << setw(n) <<var2;
*
Common Programming
Errors, cout and Variables
Forgetting to declare all variables
Storing wrong data type into a variable
Forgetting to initialize variables
Dividing integer values incorrectly
Mixing data types without knowing effect
Forgetting insertion symbol <<
Good luck is nothing
but preparedness and
opportunity coming
together.