Upload
hilda
View
25
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Formatting Output. Escape Sequences iomanip.h Objects setw() setiosflags(…) setprecision(). Output ¾ cout The object cout is used to direct data to the st standard output device, usually the monitor. - PowerPoint PPT Presentation
Citation preview
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.
predefined stream object in iostream library 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 << “The answer to question “;
cout << q_num;
cout << “ is “;
cout << 1.5 * pay_rate;
cout << endl; // force a new line and flush
*
The answer to question 5 is 9.0
q_num
5pay_rate
6
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?”;
no spacespace
OUTPUT
Hi, Shadowhow are you?
* * *
Output cout
Syntax: cout << ExprOrString << ExprOrString;
cout << “The answer to question “;cout << q_num;cout << “ is “;cout << 1.5 * pay_rate;
* *
no ;
cout << “The answer to question “ << qu_num << “ is “<< 1.5 * pay_rate;
align the put-to operators for good style
More Multi-line Syntax Syntax: cout << ExprOrString << ExprOrString
<< ExprOrString ;
cout << “The answer to question number 17 is listed after question “;cout << lastqu << ‘.’;
* *
cout << “The answer to question number 17 “<< “is listed after question “ << lastqu<< ‘.’;
no ;
Strings should never span multiple lines error
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”;
OUTPUTName Total GradeMiyo 186 B
Jake 211 ASyd 203 A_ *
\n \n gives a blank line
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
endlendl does the same thing as does the same thing as \n\n
- inserts a hard return- inserts a hard return requires the insertion operatorrequires the insertion operator
cout << endl << endlcout << endl << endl;;is the same as:is the same as:
cout << “\n\n”;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 5cout << 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>
setw(n) how many columns for data
setprecision(n) sets number of decimals
setiosflags(ios::fixed) displays 6 digits after the decimal
* * *
Formatting Output
iomanip contains the objects which havespecial effects on the iostream.…… …...
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”;
* *fields expand
337132Hi 337132Hi
Formatting Output
setprecision(n) sets number of decimals
x = format result314.0 setw(10)
setprecision(2)314.00
point counts
314.0 setw(10)setprecision(5) 314.00000
* * *columns added
314.0 setw(7)setprecision(5) 314.00000
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:
#include <iostream>using namespace std;int main(){cout << 6 << ‘\n’
<< 18 << ‘\n’<< 124 << ‘\n’<< “---\n”<< 6+19+124 << ‘\n’;
return 0;}
output
618124---149
Numerical output with coutSame 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 18124---149
Formatting Output
For decimal alignment use:For decimal alignment use:
ios::fixed and setprecision( )setw( ) use setw( ) each use setw( ) each
timetime
cout << setiosflags(ios::fixed) << setprecision(n);cout << setiosflags(ios::fixed) << setprecision(n);
cout << “- -” << setw(n) << var1 << setw(n) << “- -”;cout << “- -” << setw(n) << var1 << setw(n) << “- -”;
cout << “- -\t” << setw(n) << var1 << setw(n) <<var2;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 preparednesspreparedness and
opportunityopportunity coming
together.