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

Page 1: 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

Page 2: Csc1100 lecture03 ch03-pt2-s14

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

Page 3: Csc1100 lecture03 ch03-pt2-s14

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

Page 4: Csc1100 lecture03 ch03-pt2-s14

Mathematical Library Functions Mathematical Library Functions (cont'd.)(cont'd.)

A First Book of C++ 4th Edition 4

Page 5: Csc1100 lecture03 ch03-pt2-s14

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.)

Page 6: Csc1100 lecture03 ch03-pt2-s14

Mathematical Library Functions Mathematical Library Functions (cont'd.)(cont'd.)

A First Book of C++ 4th Edition 6

Page 7: Csc1100 lecture03 ch03-pt2-s14

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

Page 8: Csc1100 lecture03 ch03-pt2-s14

Mathematical Library Functions Mathematical Library Functions (cont'd.)(cont'd.)

A First Book of C++ 4th Edition 8

Page 9: Csc1100 lecture03 ch03-pt2-s14

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

Page 10: Csc1100 lecture03 ch03-pt2-s14

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

Page 11: Csc1100 lecture03 ch03-pt2-s14

Interactive Keyboard Input Interactive Keyboard Input (cont'd.)(cont'd.)

A First Book of C++ 4th Edition 11

//prompt user to enter input

Page 12: Csc1100 lecture03 ch03-pt2-s14

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.)

Page 13: Csc1100 lecture03 ch03-pt2-s14

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

Page 14: Csc1100 lecture03 ch03-pt2-s14

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

Page 15: Csc1100 lecture03 ch03-pt2-s14

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.)

Page 16: Csc1100 lecture03 ch03-pt2-s14

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

Page 17: Csc1100 lecture03 ch03-pt2-s14

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.)

Page 18: Csc1100 lecture03 ch03-pt2-s14

Placement of Statements Placement of Statements (cont'd.)(cont'd.)

A First Book of C++ 4th Edition 18

Page 19: Csc1100 lecture03 ch03-pt2-s14

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

Page 20: Csc1100 lecture03 ch03-pt2-s14

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.)

Page 21: Csc1100 lecture03 ch03-pt2-s14

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

Page 22: Csc1100 lecture03 ch03-pt2-s14

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.)

Page 23: Csc1100 lecture03 ch03-pt2-s14

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.)

Page 24: Csc1100 lecture03 ch03-pt2-s14

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

Page 25: Csc1100 lecture03 ch03-pt2-s14

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

Page 26: Csc1100 lecture03 ch03-pt2-s14

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

Page 27: Csc1100 lecture03 ch03-pt2-s14

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