0% found this document useful (0 votes)
46 views

Ch03 - Input Output

The document discusses input and output operations in C++ programs. It covers assignment statements, formatting output, using mathematical functions, accepting user input with cin, and defining symbolic constants. Common programming errors are also discussed.

Uploaded by

Theodore Teddy J
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Ch03 - Input Output

The document discusses input and output operations in C++ programs. It covers assignment statements, formatting output, using mathematical functions, accepting user input with cin, and defining symbolic constants. Common programming errors are also discussed.

Uploaded by

Theodore Teddy J
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 41

1

EEE3173/EGC3113/EGC1113

Chapter 3
Input/Output
1

Objectives
In this chapter, you will learn about:
Assignment operations
Formatting numbers for program output
Using mathematical library functions
Program input using the cin object
Symbolic constants
Common programming errors

Assignment Operations
Assignment Statement: Assigns the value of the
expression on the right side of the = to the variable
on the left side of the =
Another assignment statement using the same
variable will overwrite the previous value with the
new value
Examples:
slope = 3.7;
slope = 6.28;

Assignment Operations (continued)


Right side of an assignment statement may contain
any expression that can be evaluated to a value
Examples:
newtotal = 18.3 + total;
taxes = .06*amount;
average = sum / items;

Only one variable can be on the left side of an


assignment statement

Assignment Operations (continued)

Assignment Operations (continued)


Coercion: Forcing a data value to another data type
Value of the expression on the right side of an
assignment statement will be coerced (converted) to
the data type of the variable on the left side during
evaluation
Variable on the left side may also be used on the
right side of an assignment statement

Assignment Operations (continued)

Assignment Operations (continued)


Accumulation statement: Has the effect of
accumulating, or totaling

Syntax:
variable = variable + newValue;

Assignment Operations (continued)


Additional assignment operators provide short cuts:
+=, -=, *=, /=, %=
Example:
sum = sum + 10;
is equivalent to: sum += 10;
price *= rate +1;
is equivalent to:
price = price * (rate + 1);

Assignment Operations (continued)

10

Assignment Operations (continued)


Increment operator ++: Unary operator for the
special case when a variable is increased by 1
Prefix increment operator appears before the
variable
Example: ++i

Postfix increment operator appears after the


variable
Example: i++

11

Assignment Operations (continued)


Example: k = ++n; //prefix increment
is equivalent to:
n = n + 1; //increment n first
k = n;
//assign ns value to k
Example: k = n++; //postfix increment
is equivalent to
k = n;
//assign ns value to k
n = n + 1;//and then increment n

12

Assignment Operations (continued)


Decrement operator --: Unary operator for the
special case when a variable is decreased by 1
Prefix decrement operator appears before the
variable
Example: --i;

Postfix decrement operator appears after the


variable
Example: i--;

13

Formatting Numbers for Program Output


Proper output formatting contributes to ease of use
and user satisfaction.
cout with stream manipulators can control output
formatting.

14

Formatting Numbers for Program Output


(continued)

Table 3.1 Commonly Used Stream Manipulators


15

Formatting Numbers for Program Output


(continued)

16

Formatting Numbers for Program Output


(continued)

The field width manipulator must be included for


each value in the data stream sent to cout.
Other manipulators remain in effect until they are
changed.
iomanip header file must be included to use
manipulators requiring arguments.

17

Formatting Numbers for Program Output


(continued)

Formatting floating-point numbers requires three


field-width manipulators to:
Set the total width of the display
Force a decimal place
Set the number of significant digits after the decimal
point
Example:
cout << "|" << setw(10) << fixed
<< setprecision(3) << 25.67 << "|";

produces this output: | 25.670|


18

Formatting Numbers for Program Output


(continued)
setprecision: Sets number of digits after
decimal point if a decimal point has been explicitly
forced; otherwise, it sets the total number of
displayed digits
If the field width is too small, cout ignores the
setw manipulator setting and allocates enough
space for printing.
If setprecision setting is too small, the fractional
part of the value is rounded to the specified number
of decimal places.
19

Formatting Numbers for Program Output


(continued)

If setprecision value is too large, the fractional


value is displayed with its current size

Table 3.2 Effect of Format Manipulators


20

Formatting Numbers for Program Output


(continued)

Table 3.2 Effect of Format Manipulators (continued)

21

Formatting Numbers for Program Output


(continued)
Manipulators can also be set using the ostream
class methods.
Separate the cout object name from the method
name with a period.
Example:
cout.precision(2)

22

Using Mathematical Library Functions


C++ has preprogrammed mathematical functions
that can be included in a program
You must include the cmath header file:
#include <cmath>
Math functions require one or more arguments as input,
but will return only one value
All functions are overloaded, and can be used with
integer and real arguments

23

Using Mathematical Library Functions


(continued)

Table 3.5 Common C++ Functions

24

Using Mathematical Library Functions


(continued)
To use a math function, give its name and pass the
input arguments within parentheses
Expressions that can be evaluated to a value can
be passed as arguments

Figure 3.10 Using and passing data to a function

25

Using Mathematical Library Functions


(continued)

26

Using Mathematical Library Functions


(continued)
Function calls can be nested
Example:

sqrt(sin(abs(theta)))

Cast operator: A unary operator that forces the


data to the desired data type.
Compile-time cast
Syntax: dataType (expression)
Example: int(a+b)

27

Program Input Using cin


cin Object: Allows data entry to a running
program
Use of the cin object causes the program to wait
for input from the keyboard
When keyboard entry is complete, the program
resumes execution, using the entered data
An output statement preceding the cin object
statement provides a prompt to the user

28

Program Input Using cin (continued)

29

Program Input Using cin (continued)


cin can accept multiple input values to be stored
in different variables.
Multiple numeric input values must be separated
by spaces.
Example:
cin >> num1 >> num2
with keyboard entry: 0.052 245.79

30

Program Input Using cin (continued)

31

Program Input Using cin (continued)


User-input validation: The process of ensuring
that data entered by the user matches the
expected data type.
Robust program: One that detects and handles
incorrect user entry.

32

Symbolic Constants
Symbolic constant: Constant value that is
declared with an identifier using the const
keyword.
A constants value may not be changed.
Example:

const int MAXNUM = 100;


Good programming places statements in
appropriate order.

33

Symbolic Constants (continued)


Proper placement of statements:
preprocessor directives
int main()
{
symbolic constants
main function declarations
other executable statements
return value
}
34

A Closer Look: Programming Errors


Program errors may be detected in four ways:
Before a program is compiled (desk checking)
While it is being compiled (compile-time errors)
While it is being run (run-time errors)
While examining the output after completion
Errors may be:
Typos in the source code
Logic errors

35

A Closer Look: Programming Errors


(continued)
Logic errors: Often difficult to detect and difficult to
find the source.
Program tracing: Stepping through the program
by hand or with a trace tool.
Debugger: Program that allows the interruption of
a running program to determine values of its
variables at any point.

36

Common Programming Errors


Failure to declare or initialize variables before use.
Failure to include the preprocessor statement when
using a C++ preprogrammed library.
Passing the incorrect number or type of arguments
to a function.
Applying increment or decrement operator to an
expression instead of an individual variable.

37

Common Programming Errors (continued)


Failure to separate all variables passed to cin with
the extraction symbol >>
Failure to test thoroughly.
Compiler-dependent evaluation when increment or
decrement operators are used with variables that
appear more than once in the same expression.

38

Summary
Expression: A sequence of one or more operands
separated by operators.
Expressions are evaluated based on precedence
and associativity.
Assignment operator: =
Increment operator: ++
Decrement operator: --

39

Summary (continued)
Use #include <cmath> for math functions
Arguments to a function must be passed in the
proper number, type, and order
Functions may be included within larger
expressions
cin object provides data input from a keyboard;
program is suspended until the input arrives

40

Summary (continued)
Use a prompt to alert the user to provide input.
Constants are named values that do not change.

41

You might also like