Csc1100 lecture03 ch03-pt2-s14
-
Upload
pocong-makenon -
Category
Education
-
view
23 -
download
0
Transcript of Csc1100 lecture03 ch03-pt2-s14
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 FunctionsMathematical Library Functions
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 (cont'd.)Interactive Keyboard Input (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 (cont'd.)Interactive Keyboard Input (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 taxesOthers 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 (cont'd.)Symbolic Constants (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 (cont'd.)Placement of Statements (cont'd.)
Placement of Statements (cont'd.)Placement of Statements (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 ErrorsCommon Programming Errors
∗ 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 variable
A 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 expressions
A 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 testing
A First Book of C++ 4th Edition 24
Chapter Supplement: Errors, Testing, Chapter Supplement: Errors, Testing, and Debuggingand 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 ErrorsCompile-Time and Runtime Errors
∗ 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