SlideShare a Scribd company logo
1 of 28
Learners Support Publications
www.lsp4you.com
Managing Console I/O
Operations
1By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Managing Console I/O
Operations
• C++ uses the concept of stream and
stream classes to implement its I/O
operations with the console and disk
files.
• C++ support all of C’s rich set of I/O
functions.
2By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
C ++ Stream
• Stream is an interface supplied by the I/O
system of C++ between the programmer
and the actual device being accessed.
• It will work with devices like terminals,
disks and tape drives.
• A stream is a sequence of bytes.
• It acts either as a source from which the
input data can be obtained or as a
destination to which the output data can
be sent.
3By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
C ++ Stream
• Input Stream - The source stream that
provides data to the program.
• Output Stream - The destination stream
that receives output from the program.
continue…
Input device
Output device
Program
Input Stream
Output Stream
Extraction from
input stream
Insertion into
output stream
4By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
C ++ Stream
• The data in the input stream can come
from keyboard or any other storage
device.
• The data in the output stream can go to
the screen or any other storage device.
continue…
Input device
Output device
Program
Input Stream
Output Stream
Extraction from
input stream
Insertion into
output stream
5By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
C ++ Stream Classes
• The C++ I/O system contains a hierarchy
of classes that are used to define various
streams to deal with both the console
and disk files.
• These classes are called stream classes.
• These classes are declared in the header
file iostream.
6By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
C ++ Stream Classes
ios
istream ostreamstreambuf
iostream
istream_withassign iostream_withassign ostream_withassign
continue…
7By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
C ++ Stream Classes
ios
istream ostreamstreambuf
iostream
istream_withassign iostream_withassign ostream_withassign
continue…
Provides the basic
support for formatted
and unformatted I/O
operations.
Provides the facilities
for formatted and
unformatted input
Provides the
facilities for
formatted output
Provides the facilities
for handling both input
and output streams.
8By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Unformatted I/O Operations
Overloaded Operators >> and <<
• The objects cin and cout are used for
input and output of data of various types.
• By overloading the operators >> and <<.
• >> operator is overloaded in the istream
class.
• << operator is overloaded in the ostream
class.
• This is used for input data through
keyboard.
9By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Unformatted I/O Operations
Overloaded Operators >> and <<
cin >> variable1 >> varibale2 ... >> variableN
where variable1, variable2, …, variableN are valid
C++ variable names.
cout << item1 << item2 << … << itemN
Where item1, item2, …,itemN may be variables or
constants of an basic type.
10By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Unformatted I/O Operations
put( ) and get( ) Functions
• get( ) and put( ) are member functions of
istream and ostream classes.
• For single character input/output
operations.
• There are two types of get( ) functions:
– get(char*)  Assigns the input character to its argument.
– get(void)  Returns the input character.
• char c; cin.get(c) c = cin.get( );
– put( )  used to output a line of text,
character by character.
• char c; cout.put(‘x’); cout.put(c);
11By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Unformatted I/O Operations
getline( ) and write( ) Functions
• getline( ) function reads a whole line of
text that ends with a newline character.
• cin.getline(line, size);
• Reading is terminated as soon as either
the newline character ‘n’ is encountered
or size-1 characters are read.
• write( ) function displays an entire line of
text.
• cout.write(line, size);
• write( ) also used to concatenate strings.
12By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Formatted Console I/O Operations
C++ supports a number of features that
could be used for formatting the output.
These features include:
– ios class functions and flags.
– Manipulators.
– User-defined output functions.
13By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
ios member functions
width( )  to specify the required field size for
displaying an output value.
precision( )  to specify the number of digits to
be displayed after the decimal point of a float
value.
fill( )  to specify a character that is used to fill
the unused portion of a field.
setf( )  to specify format flags that can control
the form of output display.
unsetf( )  to clear the flags specified.
14By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Manipulators
Manipulators are special functions that can
be included in the I/O statement to alter the
format parameters of a stream.
To access manipulators, the file iomanip.h
should be included in the program.
– setw( )
– setprecision( )
– setfill( )
– setiosflags( )
– resetiosflags( )
15By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
width( )  Defining Field Width
To define the width of a field necessary for
the output of an item.
Since it is a member function, we have to
use an object to invoke it.
cout.width(w)
Where w is the field width (number of
columns).
The output will be printed in a field of w
characters wide at the right end of the field.
16By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
width( )  Defining Field Width
The width( ) function can specify the field
width for only one item – item that follows
immediately.
cout.width(5);
cout << 543 << 12 <<“n”;
cout.width(5);
cout << 543;
cout.width(5);
cout << 12 << “n”;
5 4 3 1 2
5 4 3 1 2
The field should be specified for
each item separately.
17By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
precision( )  Setting Precision
• Used to specify the number of digits to be
displayed after the decimal point while printing
the floating-point numbers.
• By default, the floating numbers are printed
with six digits after the decimal point.
• cout.precision(d);
– Where d is the number of digits to the right of the
decimal point.
cout.precision(3);
cout << sqrt(2) << endl;
cout << 3.14159 << endl;
cout <<2.50032 << endl;
1.141  truncated
3.142  rounded
2.5 o trailing zeros
18By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
precision( )  Setting Precision
• Unlike width( ), precision ( ) retains the setting
in effect until it is reset.
• We can also combine the field specification
with the precision setting.
cout.precision(2);
cout.width(5);
cout << 1.2345;
1 . 2 3
19By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
fill( )  Filling and Padding
• When printing values with larger field width
than required by the values, the unused
positions of the field are filled with white
spaces, by default.
• fill( ) function can be used to fill the unused
positions by any desired character.
cout.fill(ch);
where ch represents the character which is
used for filling the unused positions.
cout.fill(‘ * ’);
cout.wdith(10);
cout << 5250 << endl;
* * * * * 5 05 2*
Like precision( ), fill( ) stays
in effect till we change it.
20By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
setf( )  Formatting Flags, Bit-fields
• When the function width( ) is used, the value
will be printed right-justified in the created
width.
• setf( )function is used to print values in left-
justified.
• cout.setf(arg1, arg2)
eg:
cout.fill(‘ * ’);
cout.setf(ios :: left, ios :: adjustfield);
cout.wdith(10);
cout << “TABLE 1” << endl;
T A B L E * *1 *
arg1 is formatting flags
defined in the class ios and
arg2 is bit field constant in
the ios class.
21By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
setf( )  Formatting Flags, Bit-fields
• When the function width( ) is used, the value
will be printed right-justified in the created
width.
• setf( )function is used to print values in left-
justified.
• cout.setf(arg1, arg2)
eg:
cout.fill(‘ * ’);
cout.setf(ios :: left, ios :: adjustfield);
cout.wdith(10);
cout << “TABLE 1” << endl;
T A B L E * *1 *
arg1 is formatting flags
defined in the class ios and
arg2 is bit field constant in
the ios class.
The formatting flag
specifies the format action
required for the output.
Bit field specifies the group
to which the formatting flag
belongs.
22By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Managing Output with Manipulators
• The header file iomanip provides a set of
functions called manipulators which can be
used to manipulate the output formats.
• Some manipulators are more convenient to use
than the member functions and flags of ios.
• Two or more manipulators can be used as a
chain in one statement.
cout << manip1 << manip2 << maip3 << item;
cout << manip1 << item1 << manip2 << item2;
23By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Managing Output with Manipulators
• Manipulators and their meanings
cout << setw(5) << setprecision(2) << 1.2345
<< setw(10) << setprecision(4) << sqrt(2);
• We can jointly use the manipulators and the ios
functions in a program.
Manipulators Meaning Equivalent
setw(int w) Set the field width to w width( )
setprecision(int d) Set floating point precision to d precision( )
setfill( int c) Set the fill character to c fill( )
24By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Manipulators & ios Member Functions
• The ios member function return the previous
format state which can be used later.
• But the manipulator does not return the
previous format state.
cout.precision(2); // previous state.
int p =cout.precision(4); // current state, p=2.
cout.precision(p); // change to previous state
25By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Designing Our Own Manipulators
• We can design our own manipulators for
certain special purposes.
ostream & manipulator ( ostream & output)
{
……… (code)
return output;
}
ostream & unit (ostream & output)
{
output << “inches”;
return output;
}
cout << 36 << unit;  will produce “36 inches”.
26By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Designing Our Own Manipulators
We can also create manipulators that could
represent a sequence of operations:
ostream & show (ostream & output)
{
output.setf(ios::showpoint);
output.setf(ios::showpos);
output << setw(10);
return output;
}
This function defines a manipulator called show that
turns on the flags showpoint and showpos declared in
the class ios and sets the field width to 10.
27By:-Gourav Kottawar
Learners Support Publications
www.lsp4you.com
Thank You
28By:-Gourav Kottawar

More Related Content

What's hot

Passing an Array to a Function (ICT Programming)
Passing an Array to a Function (ICT Programming)Passing an Array to a Function (ICT Programming)
Passing an Array to a Function (ICT Programming)
Fatima Kate Tanay
 
Files in c++ ppt
Files in c++ pptFiles in c++ ppt
Files in c++ ppt
Kumar
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
Alok Kumar
 

What's hot (20)

Looping Statements and Control Statements in Python
Looping Statements and Control Statements in PythonLooping Statements and Control Statements in Python
Looping Statements and Control Statements in Python
 
Passing an Array to a Function (ICT Programming)
Passing an Array to a Function (ICT Programming)Passing an Array to a Function (ICT Programming)
Passing an Array to a Function (ICT Programming)
 
Static Data Members and Member Functions
Static Data Members and Member FunctionsStatic Data Members and Member Functions
Static Data Members and Member Functions
 
Binary operator overloading
Binary operator overloadingBinary operator overloading
Binary operator overloading
 
Basic concept of OOP's
Basic concept of OOP'sBasic concept of OOP's
Basic concept of OOP's
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++
 
Polymorphism in c++(ppt)
Polymorphism in c++(ppt)Polymorphism in c++(ppt)
Polymorphism in c++(ppt)
 
Console i/o for c++
Console i/o for c++Console i/o for c++
Console i/o for c++
 
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdfMANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdf
 
Files in c++ ppt
Files in c++ pptFiles in c++ ppt
Files in c++ ppt
 
Constructors and destructors
Constructors and destructorsConstructors and destructors
Constructors and destructors
 
C formatted and unformatted input and output constructs
C  formatted and unformatted input and output constructsC  formatted and unformatted input and output constructs
C formatted and unformatted input and output constructs
 
Basic Data Types in C++
Basic Data Types in C++ Basic Data Types in C++
Basic Data Types in C++
 
Introduction Of C++
Introduction Of C++Introduction Of C++
Introduction Of C++
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
 
07. Virtual Functions
07. Virtual Functions07. Virtual Functions
07. Virtual Functions
 
Encapsulation C++
Encapsulation C++Encapsulation C++
Encapsulation C++
 
Strings in c++
Strings in c++Strings in c++
Strings in c++
 
Array within a class
Array within a classArray within a class
Array within a class
 
Unary operator overloading
Unary operator overloadingUnary operator overloading
Unary operator overloading
 

Viewers also liked

file handling c++
file handling c++file handling c++
file handling c++
Guddu Spy
 
Programming in c++
Programming in c++Programming in c++
Programming in c++
Baljit Saini
 
Lec 30.31 - inheritance
Lec 30.31 -  inheritanceLec 30.31 -  inheritance
Lec 30.31 - inheritance
Princess Sam
 
Lec 47.48 - stream-files
Lec 47.48 - stream-filesLec 47.48 - stream-files
Lec 47.48 - stream-files
Princess Sam
 

Viewers also liked (20)

Managing console
Managing consoleManaging console
Managing console
 
Formatted input and output
Formatted input and outputFormatted input and output
Formatted input and output
 
file handling c++
file handling c++file handling c++
file handling c++
 
File handling in C++
File handling in C++File handling in C++
File handling in C++
 
Stream classes in C++
Stream classes in C++Stream classes in C++
Stream classes in C++
 
C++ Files and Streams
C++ Files and Streams C++ Files and Streams
C++ Files and Streams
 
File Handling In C++
File Handling In C++File Handling In C++
File Handling In C++
 
cpp input & output system basics
cpp input & output system basicscpp input & output system basics
cpp input & output system basics
 
Programming in c++
Programming in c++Programming in c++
Programming in c++
 
Standard Template Library
Standard Template LibraryStandard Template Library
Standard Template Library
 
C++ io manipulation
C++ io manipulationC++ io manipulation
C++ io manipulation
 
Lecture 12: Classes and Files
Lecture 12: Classes and FilesLecture 12: Classes and Files
Lecture 12: Classes and Files
 
File Handling and Command Line Arguments in C
File Handling and Command Line Arguments in CFile Handling and Command Line Arguments in C
File Handling and Command Line Arguments in C
 
Lec 30.31 - inheritance
Lec 30.31 -  inheritanceLec 30.31 -  inheritance
Lec 30.31 - inheritance
 
9781285852744 ppt ch10
9781285852744 ppt ch109781285852744 ppt ch10
9781285852744 ppt ch10
 
9781285852744 ppt ch11
9781285852744 ppt ch119781285852744 ppt ch11
9781285852744 ppt ch11
 
Templates exception handling
Templates exception handlingTemplates exception handling
Templates exception handling
 
Lec 47.48 - stream-files
Lec 47.48 - stream-filesLec 47.48 - stream-files
Lec 47.48 - stream-files
 
Control statements in c
Control statements in cControl statements in c
Control statements in c
 
Data file handling in c++
Data file handling in c++Data file handling in c++
Data file handling in c++
 

Similar to Managing console input and output

FILE OPERATIONS.pptx
FILE OPERATIONS.pptxFILE OPERATIONS.pptx
FILE OPERATIONS.pptx
DeepasCSE
 

Similar to Managing console input and output (20)

programming language in c&c++
programming language in c&c++programming language in c&c++
programming language in c&c++
 
Managing console input
Managing console inputManaging console input
Managing console input
 
FILE OPERATIONS.pptx
FILE OPERATIONS.pptxFILE OPERATIONS.pptx
FILE OPERATIONS.pptx
 
C++InputOutput.PPT
C++InputOutput.PPTC++InputOutput.PPT
C++InputOutput.PPT
 
C++InputOutput.pptx
C++InputOutput.pptxC++InputOutput.pptx
C++InputOutput.pptx
 
C++ Ch3
C++ Ch3C++ Ch3
C++ Ch3
 
embedded C.pptx
embedded C.pptxembedded C.pptx
embedded C.pptx
 
C programming part2
C programming part2C programming part2
C programming part2
 
C programming part2
C programming part2C programming part2
C programming part2
 
C programming part2
C programming part2C programming part2
C programming part2
 
Onnc intro
Onnc introOnnc intro
Onnc intro
 
Lecture1_introduction to python.pptx
Lecture1_introduction to python.pptxLecture1_introduction to python.pptx
Lecture1_introduction to python.pptx
 
C
CC
C
 
Manipulators
ManipulatorsManipulators
Manipulators
 
Introduction to C Language - Version 1.0 by Mark John Lado
Introduction to C Language - Version 1.0 by Mark John LadoIntroduction to C Language - Version 1.0 by Mark John Lado
Introduction to C Language - Version 1.0 by Mark John Lado
 
Quiz 9
Quiz 9Quiz 9
Quiz 9
 
Theory1&amp;2
Theory1&amp;2Theory1&amp;2
Theory1&amp;2
 
C++ unit-1-part-11
C++ unit-1-part-11C++ unit-1-part-11
C++ unit-1-part-11
 
Object Oriented Technologies
Object Oriented TechnologiesObject Oriented Technologies
Object Oriented Technologies
 
c-introduction.pptx
c-introduction.pptxc-introduction.pptx
c-introduction.pptx
 

More from gourav kottawar

More from gourav kottawar (20)

operator overloading & type conversion in cpp
operator overloading & type conversion in cppoperator overloading & type conversion in cpp
operator overloading & type conversion in cpp
 
constructor & destructor in cpp
constructor & destructor in cppconstructor & destructor in cpp
constructor & destructor in cpp
 
classes & objects in cpp
classes & objects in cppclasses & objects in cpp
classes & objects in cpp
 
expression in cpp
expression in cppexpression in cpp
expression in cpp
 
basics of c++
basics of c++basics of c++
basics of c++
 
working file handling in cpp overview
working file handling in cpp overviewworking file handling in cpp overview
working file handling in cpp overview
 
pointers, virtual functions and polymorphisms in c++ || in cpp
pointers, virtual functions and polymorphisms in c++ || in cpppointers, virtual functions and polymorphisms in c++ || in cpp
pointers, virtual functions and polymorphisms in c++ || in cpp
 
exception handling in cpp
exception handling in cppexception handling in cpp
exception handling in cpp
 
operator overloading & type conversion in cpp over view || c++
operator overloading & type conversion in cpp over view || c++operator overloading & type conversion in cpp over view || c++
operator overloading & type conversion in cpp over view || c++
 
constructor & destructor in cpp
constructor & destructor in cppconstructor & destructor in cpp
constructor & destructor in cpp
 
basics of c++
basics of c++basics of c++
basics of c++
 
classes & objects in cpp overview
classes & objects in cpp overviewclasses & objects in cpp overview
classes & objects in cpp overview
 
expression in cpp
expression in cppexpression in cpp
expression in cpp
 
SQL || overview and detailed information about Sql
SQL || overview and detailed information about SqlSQL || overview and detailed information about Sql
SQL || overview and detailed information about Sql
 
SQL querys in detail || Sql query slides
SQL querys in detail || Sql query slidesSQL querys in detail || Sql query slides
SQL querys in detail || Sql query slides
 
Rrelational algebra in dbms overview
Rrelational algebra in dbms overviewRrelational algebra in dbms overview
Rrelational algebra in dbms overview
 
overview of database concept
overview of database conceptoverview of database concept
overview of database concept
 
Relational Model in dbms & sql database
Relational Model in dbms & sql databaseRelational Model in dbms & sql database
Relational Model in dbms & sql database
 
DBMS information in detail || Dbms (lab) ppt
DBMS information in detail || Dbms (lab) pptDBMS information in detail || Dbms (lab) ppt
DBMS information in detail || Dbms (lab) ppt
 
security and privacy in dbms and in sql database
security and privacy in dbms and in sql databasesecurity and privacy in dbms and in sql database
security and privacy in dbms and in sql database
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 

Managing console input and output

  • 1. Learners Support Publications www.lsp4you.com Managing Console I/O Operations 1By:-Gourav Kottawar
  • 2. Learners Support Publications www.lsp4you.com Managing Console I/O Operations • C++ uses the concept of stream and stream classes to implement its I/O operations with the console and disk files. • C++ support all of C’s rich set of I/O functions. 2By:-Gourav Kottawar
  • 3. Learners Support Publications www.lsp4you.com C ++ Stream • Stream is an interface supplied by the I/O system of C++ between the programmer and the actual device being accessed. • It will work with devices like terminals, disks and tape drives. • A stream is a sequence of bytes. • It acts either as a source from which the input data can be obtained or as a destination to which the output data can be sent. 3By:-Gourav Kottawar
  • 4. Learners Support Publications www.lsp4you.com C ++ Stream • Input Stream - The source stream that provides data to the program. • Output Stream - The destination stream that receives output from the program. continue… Input device Output device Program Input Stream Output Stream Extraction from input stream Insertion into output stream 4By:-Gourav Kottawar
  • 5. Learners Support Publications www.lsp4you.com C ++ Stream • The data in the input stream can come from keyboard or any other storage device. • The data in the output stream can go to the screen or any other storage device. continue… Input device Output device Program Input Stream Output Stream Extraction from input stream Insertion into output stream 5By:-Gourav Kottawar
  • 6. Learners Support Publications www.lsp4you.com C ++ Stream Classes • The C++ I/O system contains a hierarchy of classes that are used to define various streams to deal with both the console and disk files. • These classes are called stream classes. • These classes are declared in the header file iostream. 6By:-Gourav Kottawar
  • 7. Learners Support Publications www.lsp4you.com C ++ Stream Classes ios istream ostreamstreambuf iostream istream_withassign iostream_withassign ostream_withassign continue… 7By:-Gourav Kottawar
  • 8. Learners Support Publications www.lsp4you.com C ++ Stream Classes ios istream ostreamstreambuf iostream istream_withassign iostream_withassign ostream_withassign continue… Provides the basic support for formatted and unformatted I/O operations. Provides the facilities for formatted and unformatted input Provides the facilities for formatted output Provides the facilities for handling both input and output streams. 8By:-Gourav Kottawar
  • 9. Learners Support Publications www.lsp4you.com Unformatted I/O Operations Overloaded Operators >> and << • The objects cin and cout are used for input and output of data of various types. • By overloading the operators >> and <<. • >> operator is overloaded in the istream class. • << operator is overloaded in the ostream class. • This is used for input data through keyboard. 9By:-Gourav Kottawar
  • 10. Learners Support Publications www.lsp4you.com Unformatted I/O Operations Overloaded Operators >> and << cin >> variable1 >> varibale2 ... >> variableN where variable1, variable2, …, variableN are valid C++ variable names. cout << item1 << item2 << … << itemN Where item1, item2, …,itemN may be variables or constants of an basic type. 10By:-Gourav Kottawar
  • 11. Learners Support Publications www.lsp4you.com Unformatted I/O Operations put( ) and get( ) Functions • get( ) and put( ) are member functions of istream and ostream classes. • For single character input/output operations. • There are two types of get( ) functions: – get(char*)  Assigns the input character to its argument. – get(void)  Returns the input character. • char c; cin.get(c) c = cin.get( ); – put( )  used to output a line of text, character by character. • char c; cout.put(‘x’); cout.put(c); 11By:-Gourav Kottawar
  • 12. Learners Support Publications www.lsp4you.com Unformatted I/O Operations getline( ) and write( ) Functions • getline( ) function reads a whole line of text that ends with a newline character. • cin.getline(line, size); • Reading is terminated as soon as either the newline character ‘n’ is encountered or size-1 characters are read. • write( ) function displays an entire line of text. • cout.write(line, size); • write( ) also used to concatenate strings. 12By:-Gourav Kottawar
  • 13. Learners Support Publications www.lsp4you.com Formatted Console I/O Operations C++ supports a number of features that could be used for formatting the output. These features include: – ios class functions and flags. – Manipulators. – User-defined output functions. 13By:-Gourav Kottawar
  • 14. Learners Support Publications www.lsp4you.com ios member functions width( )  to specify the required field size for displaying an output value. precision( )  to specify the number of digits to be displayed after the decimal point of a float value. fill( )  to specify a character that is used to fill the unused portion of a field. setf( )  to specify format flags that can control the form of output display. unsetf( )  to clear the flags specified. 14By:-Gourav Kottawar
  • 15. Learners Support Publications www.lsp4you.com Manipulators Manipulators are special functions that can be included in the I/O statement to alter the format parameters of a stream. To access manipulators, the file iomanip.h should be included in the program. – setw( ) – setprecision( ) – setfill( ) – setiosflags( ) – resetiosflags( ) 15By:-Gourav Kottawar
  • 16. Learners Support Publications www.lsp4you.com width( )  Defining Field Width To define the width of a field necessary for the output of an item. Since it is a member function, we have to use an object to invoke it. cout.width(w) Where w is the field width (number of columns). The output will be printed in a field of w characters wide at the right end of the field. 16By:-Gourav Kottawar
  • 17. Learners Support Publications www.lsp4you.com width( )  Defining Field Width The width( ) function can specify the field width for only one item – item that follows immediately. cout.width(5); cout << 543 << 12 <<“n”; cout.width(5); cout << 543; cout.width(5); cout << 12 << “n”; 5 4 3 1 2 5 4 3 1 2 The field should be specified for each item separately. 17By:-Gourav Kottawar
  • 18. Learners Support Publications www.lsp4you.com precision( )  Setting Precision • Used to specify the number of digits to be displayed after the decimal point while printing the floating-point numbers. • By default, the floating numbers are printed with six digits after the decimal point. • cout.precision(d); – Where d is the number of digits to the right of the decimal point. cout.precision(3); cout << sqrt(2) << endl; cout << 3.14159 << endl; cout <<2.50032 << endl; 1.141  truncated 3.142  rounded 2.5 o trailing zeros 18By:-Gourav Kottawar
  • 19. Learners Support Publications www.lsp4you.com precision( )  Setting Precision • Unlike width( ), precision ( ) retains the setting in effect until it is reset. • We can also combine the field specification with the precision setting. cout.precision(2); cout.width(5); cout << 1.2345; 1 . 2 3 19By:-Gourav Kottawar
  • 20. Learners Support Publications www.lsp4you.com fill( )  Filling and Padding • When printing values with larger field width than required by the values, the unused positions of the field are filled with white spaces, by default. • fill( ) function can be used to fill the unused positions by any desired character. cout.fill(ch); where ch represents the character which is used for filling the unused positions. cout.fill(‘ * ’); cout.wdith(10); cout << 5250 << endl; * * * * * 5 05 2* Like precision( ), fill( ) stays in effect till we change it. 20By:-Gourav Kottawar
  • 21. Learners Support Publications www.lsp4you.com setf( )  Formatting Flags, Bit-fields • When the function width( ) is used, the value will be printed right-justified in the created width. • setf( )function is used to print values in left- justified. • cout.setf(arg1, arg2) eg: cout.fill(‘ * ’); cout.setf(ios :: left, ios :: adjustfield); cout.wdith(10); cout << “TABLE 1” << endl; T A B L E * *1 * arg1 is formatting flags defined in the class ios and arg2 is bit field constant in the ios class. 21By:-Gourav Kottawar
  • 22. Learners Support Publications www.lsp4you.com setf( )  Formatting Flags, Bit-fields • When the function width( ) is used, the value will be printed right-justified in the created width. • setf( )function is used to print values in left- justified. • cout.setf(arg1, arg2) eg: cout.fill(‘ * ’); cout.setf(ios :: left, ios :: adjustfield); cout.wdith(10); cout << “TABLE 1” << endl; T A B L E * *1 * arg1 is formatting flags defined in the class ios and arg2 is bit field constant in the ios class. The formatting flag specifies the format action required for the output. Bit field specifies the group to which the formatting flag belongs. 22By:-Gourav Kottawar
  • 23. Learners Support Publications www.lsp4you.com Managing Output with Manipulators • The header file iomanip provides a set of functions called manipulators which can be used to manipulate the output formats. • Some manipulators are more convenient to use than the member functions and flags of ios. • Two or more manipulators can be used as a chain in one statement. cout << manip1 << manip2 << maip3 << item; cout << manip1 << item1 << manip2 << item2; 23By:-Gourav Kottawar
  • 24. Learners Support Publications www.lsp4you.com Managing Output with Manipulators • Manipulators and their meanings cout << setw(5) << setprecision(2) << 1.2345 << setw(10) << setprecision(4) << sqrt(2); • We can jointly use the manipulators and the ios functions in a program. Manipulators Meaning Equivalent setw(int w) Set the field width to w width( ) setprecision(int d) Set floating point precision to d precision( ) setfill( int c) Set the fill character to c fill( ) 24By:-Gourav Kottawar
  • 25. Learners Support Publications www.lsp4you.com Manipulators & ios Member Functions • The ios member function return the previous format state which can be used later. • But the manipulator does not return the previous format state. cout.precision(2); // previous state. int p =cout.precision(4); // current state, p=2. cout.precision(p); // change to previous state 25By:-Gourav Kottawar
  • 26. Learners Support Publications www.lsp4you.com Designing Our Own Manipulators • We can design our own manipulators for certain special purposes. ostream & manipulator ( ostream & output) { ……… (code) return output; } ostream & unit (ostream & output) { output << “inches”; return output; } cout << 36 << unit;  will produce “36 inches”. 26By:-Gourav Kottawar
  • 27. Learners Support Publications www.lsp4you.com Designing Our Own Manipulators We can also create manipulators that could represent a sequence of operations: ostream & show (ostream & output) { output.setf(ios::showpoint); output.setf(ios::showpos); output << setw(10); return output; } This function defines a manipulator called show that turns on the flags showpoint and showpos declared in the class ios and sets the field width to 10. 27By:-Gourav Kottawar