Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 3 – Inventory Application: Introducing Variables,

Similar presentations


Presentation on theme: "© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 3 – Inventory Application: Introducing Variables,"— Presentation transcript:

1 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 3 – Inventory Application: Introducing Variables, Input, Memory Concepts and Arithmetic Outline 3.1 Test-Driving the Inventory Application 3.2 Variables 3.3 Performing Stream Input Using cin 3.4 Performing a Calculation and Displaying the Result 3.5 Memory Concepts 3.6 Arithmetic 3.7 Using the Debugger: Breakpoints 3.8 Web Resources 3.9 Wrap-Up

2 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Objectives In this tutorial, you will learn to: –Define variables. –Enable your applications to accept input that the user types at the keyboard. –Use arithmetic operators. –Use cin to store user input in an int. –Apply basic memory concepts using variables. –Use the precedence rules of arithmetic operators. –Set breakpoints to debug applications.

3 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.1 Test-Driving the Inventory Application

4 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.1 Test-Driving the Inventory Application (Cont.) Figure 3.1 Inventory application with quantities entered.

5 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.1 Test-Driving the Inventory Application (Cont.) Figure 3.2 Calculating the total in the Inventory application. Result of calculation

6 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.2 Variables Area of computer’s memory that holds data –Defining a variable Specify a variable type Can also specify an optional initialization value –Variable names Must be a valid identifier –Can contain letters, digits and underscores (Number_5 is valid) –Cannot begin with a digit (“4thVariable” is invalid) –Cannot be the same as a C++ reserved keyword (“true” is invalid) –Identifiers are case sensitive (“A” and “a” are different)

7 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.2 Variables (Cont.) Figure 3.3 Defining variables in the main function. Variable definitions int type –Stores whole number values

8 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.2 Variables (Cont.)

9 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.3 Performing Stream Input Using cin Stream input –Stream extraction operator >> –Input stream object cin –Use both together to retrieve input from the keyboard –Example: cin >> integer1 (“ cin inputs a value into integer1 ”)

10 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.3 Performing Stream Input Using cin (Cont.) Figure 3.5 Prompt user for input and read value. Prompt user for number of cartons Place value entered by user in the cartons variable

11 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.3 Performing Stream Input Using cin (Cont.) Figure 3.6 Prompt user for input and store the value in the items variable. Prompt user for items per cartons Place value entered by user in the items variable

12 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.4 Performing a Calculation and Displaying the Result Figure 3.7 Using multiplication in the Inventory application. Multiplication operator * Assignment operator = Multiply the integer values and store the result in result

13 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.4 Performing a Calculation and Displaying the Result (Cont.) Figure 3.8 Displaying the result. Display the result Stream manipulator endl Displays a new line and flushes the output buffer Concatenating stream insertion operations Use multiple stream insertion operators in a single statement

14 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.4 Performing a Calculation and Displaying the Result (Cont.) Figure 3.9 Executing the completed Inventory application.

15 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Inventory.cpp (1 of 2) Use the int keyword to define variables inside a function Assigns user input to variable

16 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Inventory.cpp (2 of 2) Assigns user input to variable Calculate a result

17 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.5 Memory Concepts Figure 3.11 Memory location showing name and value of variable cartons. Every variable has a name, size, type and value

18 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.5 Memory Concepts (Cont.) Figure 3.12 Memory locations after assigning values to cartons and items. Writing to a memory location is destructive

19 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.5 Memory Concepts (Cont.) Figure 3.13 Memory locations after a multiplication operation. Reading a value from a memory location is nondestructive

20 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.6 Arithmetic x y + and – unary operators allow programmers to specify positive ( +9 ) and negative ( -19 ) numbers Numbers are positive by default ( 9 is the same as +9 ) Integer division truncates (discards the remainder) Arithmetic expressions must be written in straight-line form

21 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.6 Arithmetic (Cont.) Precedence is the order in which operators are applied Redundant parentheses make expressions easier to read

22 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.7 Using the Debugger: Breakpoints Logic errors (also called bugs) –Do not prevent code from compiling –Cause applications to produce erroneous results Breakpoint –Pauses execution before executing a specified line –If a breakpoint is placed on a non-executable line, execution is paused before the next executable line –Add a breakpoint by: Clicking inside the margin indicator bar or Right-clicking a line of code and selecting Insert Breakpoint

23 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.7 Using the Debugger: Breakpoints (Cont.) Figure 3.16 Setting Solution Configuration to Debug. Down arrow Solution Configuration ComboBox

24 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.7 Using the Debugger: Breakpoints (Cont.) Figure 3.17 Setting two breakpoints. Breakpoints Margin indicator bar Margin indicator bar is the gray bar left of the code field When the debugger pauses execution at a breakpoint, the application is said to be in break mode

25 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.7 Using the Debugger: Breakpoints (Cont.) Figure 3.18 Inventory application running.

26 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.7 Using the Debugger: Breakpoints (Cont.) Figure 3.19 Title bar of the IDE displaying [break]. Title bar displays [break]

27 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.7 Using the Debugger: Breakpoints (Cont.) Figure 3.20 Application execution suspended at the first breakpoint. Yellow arrow Next executable statement The yellow arrow points to the line containing the next statement to execute

28 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.7 Using the Debugger: Breakpoints (Cont.) Figure 3.21 Displaying a variable value by placing the mouse pointer over a variable name. Quick Info box displays the result variable’s value

29 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.7 Using the Debugger: Breakpoints (Cont.) Figure 3.22 Setting a breakpoint at line 31 prevents the application from exiting immediately after displaying its result.

30 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.7 Using the Debugger: Breakpoints (Cont.) Figure 3.23 Application output. When there are no more breakpoints, application will execute to completion

31 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.7 Using the Debugger: Breakpoints (Cont.) Figure 3.24 Disabled breakpoint. Disabled breakpoint Disabling a Breakpoint Right-click the line of code and select Disable Breakpoint

32 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.7 Using the Debugger: Breakpoints (Cont.) Removing a Breakpoint –Click the maroon circle in the margin indicator bar or –Right-click the line of code and select Remove Breakpoint

33 © Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 3.8 Web Resources www.cplusplus.com www.cppreference.com www.cpp-home.com www.cprogramming.com www.research.att.com/~bs/C++.html msdn.microsoft.com/visualc


Download ppt "© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 3 – Inventory Application: Introducing Variables,"

Similar presentations


Ads by Google