Csc1100 lecture03 ch03-pt2-s14

27
A First Book of C++ A First Book of C++ Chapter 3 (Pt 2) Chapter 3 (Pt 2) Assignment and Interactive Input Assignment and Interactive Input

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