Post on 14-Aug-2015
transcript
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
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
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 Mathematical Library FunctionsFunctions
Mathematical Library Functions Mathematical Library Functions (cont'd.)(cont'd.)
A First Book of C++ 4th Edition 4
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 Functions Mathematical Library Functions (cont'd.)(cont'd.)
Mathematical Library Functions Mathematical Library Functions (cont'd.)(cont'd.)
A First Book of C++ 4th Edition 6
Mathematical Library Functions Mathematical Library Functions (cont'd.)(cont'd.)
A First Book of C++ 4th Edition 7
log base 2
e-3.2
log base 10
e ~ 2.718
Mathematical Library Functions Mathematical Library Functions (cont'd.)(cont'd.)
A First Book of C++ 4th Edition 8
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
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
Interactive Keyboard Input Interactive Keyboard Input (cont'd.)(cont'd.)
A First Book of C++ 4th Edition 11
//prompt user to enter input
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 Interactive Keyboard Input (cont'd.)(cont'd.)
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
Magic numbers: literal data used in a programSome 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 namesconst float PI = 3.1416;const double SALESTAX = 0.05;
A First Book of C++ 4th Edition 14
Symbolic ConstantsSymbolic Constants
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 constantsNamed constants
A First Book of C++ 4th Edition 15
Symbolic Constants Symbolic Constants (cont'd.)(cont'd.)
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
As a matter of good programming practice, the order of statements should be:
preprocessor directives
int main(){
// symbolic constants// variable declarations
// other executable statementsreturn 0;
}
A First Book of C++ 4th Edition 17
Placement of Statements Placement of Statements (cont'd.)(cont'd.)
Placement of Statements Placement of Statements (cont'd.)(cont'd.)
A First Book of C++ 4th Edition 18
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 Common Programming ErrorsErrors
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 Errors Common Programming Errors (cont'd.)(cont'd.)
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
variableA First Book of C++ 4th Edition 21
SummarySummary
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
expressionsA First Book of C++ 4th Edition 22
Summary (cont'd.)Summary (cont'd.)
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.)
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 testingA First Book of C++ 4th Edition 24
Chapter Supplement: Errors, Chapter Supplement: Errors, Testing, and DebuggingTesting, and Debugging
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 Compile-Time and Runtime ErrorsErrors
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
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