This chapter discusses assignment operators, mathematical library functions, interactive input, symbolic constants, common errors, and debugging in C++. It covers using functions like sqrt() and includes like <cmath>, taking user input with cin, declaring symbolic constants with const, common errors like missing variables, and debugging methods like tracing and echo printing.
1. A First Book of C++A First Book of C++
Chapter 3 (Pt 2)Chapter 3 (Pt 2)
Assignment and Interactive InputAssignment and Interactive Input
2. ∗ In this chapter, you will learn about:
∗ Assignment Operators
∗ Formatted Output
∗ Mathematical Library Functions
∗ Interactive Keyboard Input
∗ Symbolic Constraints
∗ Common Programming Errors
∗ Errors, Testing, and Debugging
A First Book of C++ 4th Edition 2
ObjectivesObjectives
3. ∗ Standard preprogrammed functions that can be
included in a program
∗ Example: sqrt(number) calculates the square root of
number
∗ Table 3.5 lists more commonly used mathematical
functions provided in C++
∗ To access these functions in a program, the header file
cmath must be used
∗ Format: #include <cmath> - no semicolon
A First Book of C++ 4th Edition 3
Mathematical Library FunctionsMathematical Library Functions
5. ∗ Before using a C++ mathematical function, the
programmer must know:
∗ Name of the desired mathematical function
∗ What the function does
∗ Type of data required by the function
∗ Data type of the result returned by the function
A First Book of C++ 4th Edition 5
Mathematical Library FunctionsMathematical Library Functions
(cont'd.)(cont'd.)
9. ∗ Cast: forces conversion of a value to another type
∗ Two versions: compile-time and runtime
∗ Compile-time cast: unary operator
∗ Syntax: dataType (expression)
∗ Example : int(23.45) or (int)23.45
∗ expression converted to data type of dataType
∗ Run-time cast: requested conversion checked at runtime,
applied if valid
∗ Syntax: static_cast<dataType> (expression)
∗ Example : static_cast<int>(23.45)
∗ expression converted to data type dataType
A First Book of C++ 4th Edition 9
CastsCasts
10. ∗ If a program only executes once, data can be included
directly in the program
∗ If data changes, program must be rewritten
∗ Capability needed to enter different data
∗ cin object: used to enter data while a program is
executing
∗ Example: cin >> num1;
∗ Statement stops program execution and accepts data
from the keyboard
A First Book of C++ 4th Edition 10
Interactive Keyboard InputInteractive Keyboard Input
11. Interactive Keyboard Input (cont'd.)Interactive Keyboard Input (cont'd.)
A First Book of C++ 4th Edition 11
//prompt user to enter input
12. ∗ First cout statement in Program 3.12 prints a string
∗ Tells the person at the terminal what to type
∗ A string used in this manner is called a prompt
∗ Next statement, cin, pauses computer
∗ Waits for user to type a value
∗ User signals the end of data entry by pressing Enter key
∗ Entered value stored in variable to right of extraction symbol
∗ Computer comes out of pause and goes to next cout
statement
A First Book of C++ 4th Edition 12
Interactive Keyboard Input (cont'd.)Interactive Keyboard Input (cont'd.)
13. ∗ A well-constructed program should validate all user
input
∗ Ensures that program does not crash or produce
nonsensical output
∗ Robust programs: programs that detect and respond
effectively to unexpected user input
∗ Also known as “bulletproof” programs
∗ User-input validation: checking entered data and
providing user with a way to reenter invalid data
A First Book of C++ 4th Edition 13
User-Input ValidationUser-Input Validation
14. Magic numbers: literal data used in a program
Some have general meaning in context of program
Tax rate in a program to calculate taxes
Others have general meaning beyond the context of
the program
π = 3.1416; Euler’s number (e) = 2.71828
Constants can be assigned symbolic names
const float PI = 3.1416;
const double SALESTAX = 0.05;
A First Book of C++ 4th Edition 14
Symbolic ConstantsSymbolic Constants
15. const: qualifier specifies that the declared identifier
cannot be changed
A const identifier can be used in any C++ statement
in place of number it represents
circum = 2 * PI * radius;
amount = SALESTAX * purchase;
const identifiers commonly referred to as:
Symbolic constants
Named constants
A First Book of C++ 4th Edition 15
Symbolic Constants (cont'd.)Symbolic Constants (cont'd.)
16. ∗ A variable or symbolic constant must be declared
before it is used
∗ C++ permits preprocessor directives/commands and
declaration statements to be placed anywhere in
program
∗ Doing so results in very poor program structure
A First Book of C++ 4th Edition 16
Placement of Statements
17. ∗ As a matter of good programming practice, the order of
statements should be:
preprocessor directives
int main()
{
// symbolic constants
// variable declarations
// other executable statements
return 0;
}
A First Book of C++ 4th Edition 17
Placement of Statements (cont'd.)Placement of Statements (cont'd.)
18. Placement of Statements (cont'd.)Placement of Statements (cont'd.)
A First Book of C++ 4th Edition 18
19. ∗ Forgetting to assign or initialize values for all variables
before they are used in an expression
∗ Using a mathematical library function without
including the preprocessor statement #include
<cmath>
∗ Using a library function without providing the correct
number of arguments of the proper data type
∗ Applying increment or decrement operator to an
expression
A First Book of C++ 4th Edition 19
Common Programming ErrorsCommon Programming Errors
20. ∗ Forgetting to use the extraction operator, >>, to
separate variables in a cin statement
∗ Using an increment or decrement operator with
variables that appear more than once in the same
statement
∗ Being unwilling to test a program in depth
A First Book of C++ 4th Edition 20
Common Programming ErrorsCommon Programming Errors
(cont'd.)(cont'd.)
21. ∗ Expression: sequence of operands separated by
operators
∗ Expressions are evaluated according to precedence
and associativity of its operands
∗ The assignment symbol, =, is an operator
∗ Assigns a value to variable
∗ Multiple assignments allowed in one statement
∗ Increment operator(++): adds 1 to a variable
∗ Decrement operator(--): subtracts 1 from a variable
A First Book of C++ 4th Edition 21
SummarySummary
22. ∗ Increment and decrement operators can be used as
prefixes or postfixes
∗ C++ provides library functions for various
mathematical functions
∗ These functions operate on their arguments to calculate
a single value
∗ Arguments, separated by commas, included within
parentheses following function’s name
∗ Functions may be included within larger expressions
A First Book of C++ 4th Edition 22
Summary (cont'd.)Summary (cont'd.)
23. ∗ cin object used for data input
∗ cin temporarily suspends statement execution until
data entered for variables in cin function
∗ Good programming practice: prior to a cin
statement, display message alerting user to type and
number of data items to be entered
∗ Message called a prompt
∗ Values can be equated to a single constant by using
the const keyword
A First Book of C++ 4th Edition 23
Summary (cont'd.)Summary (cont'd.)
24. ∗ Program errors can be detected:
∗ Before a program is compiled
∗ While the program is being compiled
∗ While the program is running
∗ After the program has been run and the output is being
examined
∗ Desk checking
∗ Method for detecting errors before a program is compiled
∗ Program verification and testing
A First Book of C++ 4th Edition 24
Chapter Supplement: Errors, Testing,Chapter Supplement: Errors, Testing,
and Debuggingand Debugging
25. ∗ Compile-time errors
∗ Errors detected while a program is being compiled
∗ No one but the programmer ever knows they occurred
∗ Runtime errors
∗ Errors that occur while a program is running
∗ More troubling because they occur while a user is
running the program
∗ Can be caused by program or hardware failures
A First Book of C++ 4th Edition 25
Compile-Time and Runtime ErrorsCompile-Time and Runtime Errors
26. ∗ Syntax error
∗ Error in ordering valid language elements in a statement
or the attempt to use invalid language elements
∗ Logic error
∗ Characterized by erroneous, unexpected, or
unintentional output that’s a result of some flaw in the
program’s logic
A First Book of C++ 4th Edition 26
Syntax and Logic ErrorsSyntax and Logic Errors
27. ∗ Program testing should be well thought out to maximize
the possibility of locating errors
∗ Bug: a program error
∗ Debugging
∗ Process of isolating and correcting the error and verifying the
correction
∗ Program tracing
∗ Process of imitating the computer by executing each
statement by hand as the computer would
∗ Echo printing
A First Book of C++ 4th Edition 27
Testing and DebuggingTesting and Debugging