0% found this document useful (0 votes)
15 views44 pages

Completing The Problem-Solving Process

This document discusses completing the problem-solving process in C++ programming by coding algorithms into programs. It covers getting input from the keyboard and displaying output on the screen using streams, performing arithmetic operations and type conversions, writing assignment statements, and desk-checking programs. The objectives are to input and output data, write expressions, type cast values, use assignment statements, and code algorithms into programs.

Uploaded by

LawrOot
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views44 pages

Completing The Problem-Solving Process

This document discusses completing the problem-solving process in C++ programming by coding algorithms into programs. It covers getting input from the keyboard and displaying output on the screen using streams, performing arithmetic operations and type conversions, writing assignment statements, and desk-checking programs. The objectives are to input and output data, write expressions, type cast values, use assignment statements, and code algorithms into programs.

Uploaded by

LawrOot
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 44

Introduction to Programming in C++

Seventh Edition

Chapter 4:
Completing the Problem-Solving Process
Objectives

• Get numeric and character data from the keyboard


• Display information on the computer screen
• Write arithmetic expressions
• Type cast a value
• Write an assignment statement
• Code the algorithm into a program

An Introduction to Programming with C++, Seventh Edition 2


Displaying Messages on the Computer
Screen (cont’d.)
• A stream manipulator is used to manipulate (manage)
the characters in an input or output string
• endl is a stream manipulator that advances the cursor
to the next line on the screen
– Equivalent to pressing the Enter key
(carriage return and line feed)

An Introduction to Programming with C++, Seventh Edition 3


Finishing Step 4 in the Problem-Solving
Process
• The fourth step in the problem-solving process is to
code algorithm into a program
• Begin by declaring a memory location for each input,
processing, and output value in IPO chart
• Optionally initialize each value (highly preferred)
• Next, you code the instructions for the algorithm

An Introduction to Programming with C++, Seventh Edition 4


Finishing Step 4 in the Problem-Solving
Process (cont’d.)

Figure 4-1 Problem specification, IPO chart


information, and variable declaration
An Introduction to Programming with C++, Seventh Edition 5
Getting Data from the Keyboard

• C++ uses stream objects to perform input/output


operations
• A stream is a sequence of characters
• The cin object is used to obtain information from the
keyboard (program pauses while user enters data)
• The extraction operator (>>) takes information out of
cin object and stores it in internal memory
– Syntax: cin >> variableName;

An Introduction to Programming with C++, Seventh Edition 6


Getting Data from the Keyboard (cont’d.)

Figure 4-2 Relationship among the keyboard, cin object,


extraction operator, and internal memory

An Introduction to Programming with C++, Seventh Edition 7


Getting Data from the Keyboard (cont’d.)

Figure 4-3 How to use cin and >> to


get numeric or character data

An Introduction to Programming with C++, Seventh Edition 8


Getting Data from the Keyboard (cont’d.)

Figure 4-4 Input statements for


the Treyson Mobley problem
An Introduction to Programming with C++, Seventh Edition 9
Displaying Messages on the Computer
Screen
• You use a prompt (message) to let the user know what
data is to be entered
• The cout object is used with the insertion operator
(<<) to display information on the screen
• Information can be any combination of literal constants,
named constants, and variables
• Multiple items can be printed in the same statement
– Syntax: cout << item1 [<< item2 << itemN];
– Part in brackets is optional

An Introduction to Programming with C++, Seventh Edition 10


Displaying Messages on the Computer
Screen (cont’d.)

Figure 4-5 How to use the cout object

An Introduction to Programming with C++, Seventh Edition 11


Displaying Messages on the Computer
Screen (cont’d.)

Figure 4-6 Prompts and output statement


for the Treyson Mobley problem
An Introduction to Programming with C++, Seventh Edition 12
The static_cast Operator (cont’d.)

Figure 4-10 How to use the static_cast operator


An Introduction to Programming with C++, Seventh Edition 13
Arithmetic Operators in C++

• You can evaluate arithmetic expressions in C++ using


arithmetic operators
• Operators are negation (-), addition (+), subtraction
(-), multiplication (*), division (/), and modulus (%)
• Negation and subtraction use the same symbol, but
negation is a unary operator (one operand) and
subtraction is a binary operator (two operands)
• Modulus gives remainder when dividing two integers

An Introduction to Programming with C++, Seventh Edition 14


Arithmetic Operators in C++ (cont’d.)

• Each operator has a precedence: determines in which


order operators in an expression are evaluated
• Operators with lower-precedence numbers are
evaluated before higher ones
• Parentheses have lowest-precedence number, so they
can be used to override precedence order
• Operators with the same precedence number are
evaluated from left to right

An Introduction to Programming with C++, Seventh Edition 15


Arithmetic Operators in C++ (cont’d.)

Figure 4-7 Standard arithmetic operators and their order of precedence

An Introduction to Programming with C++, Seventh Edition 16


Arithmetic Operators in C++ (cont’d.)

Figure 4-8 Expressions containing more than one


operator having the same precedence

An Introduction to Programming with C++, Seventh Edition 17


Type Conversions in Arithmetic
Expressions
• Recall that the compiler will implicitly promote or
demote data types to match when possible
• Sometimes it is necessary to explicitly cast from one
data type into another
– Example: dividing two integers gives the result of integer
division (no remainder), but you would really like a
double result
– If one or both of the integers is a literal, you can cast it to
a double by adding .0 to the end of it
– If both are variables, you must use the static_cast
operator
An Introduction to Programming with C++, Seventh Edition 18
Type Conversions in Arithmetic
Expressions (cont’d.)

Figure 4-9 Examples of expressions that


require implicit type conversions

An Introduction to Programming with C++, Seventh Edition 19


The static_cast Operator

• Used to explicitly convert data from one data type to


another
• Called an explicit type conversion or type cast
• Syntax: static_cast<dataType>(data)
– data can be a literal constant, named constant, or
variable
– dataType is the data type to which you want the data
converted

An Introduction to Programming with C++, Seventh Edition 20


The static_cast Operator (cont’d.)

Figure 4-10 How to use the


static_cast operator (cont’d.)
An Introduction to Programming with C++, Seventh Edition 21
Assignment Statements

• You use an assignment statement to assign a value to a


variable while a program is running
• Syntax: variableName = expression
– The = symbol is the assignment operator
• Tells computer to evaluate expression on right side of
assignment operator and store result in variable on left
side of the operator
– expression can include one or more literal constants,
named constants, variables, or arithmetic operators

An Introduction to Programming with C++, Seventh Edition 22


Assignment Statements (cont’d.)

• Data type of expression in an assignment statement


must match data type of the variable
• If they don’t match, compiler will use implicit type
casting to get them to match
– Doesn’t always produce correct result
– Better to explicitly cast to correct data type yourself
• Remember:
– Declaration statement creates a new variable
– Assignment statement assigns a new value to an existing
variable

An Introduction to Programming with C++, Seventh Edition 23


Assignment Statements (cont’d.)

Figure 4-11 How to write an assignment statement

An Introduction to Programming with C++, Seventh Edition 24


Assignment Statements (cont’d.)

Figure 4-11 How to write an assignment statement (cont’d.)


An Introduction to Programming with C++, Seventh Edition 25
Assignment Statements (cont’d.)

Figure 4-12 Calculation statementsfor the Treyson Mobley problem


An Introduction to Programming with C++, Seventh Edition 26
Arithmetic Assignment Operators

• Allow you to abbreviate assignment statements that


contain an arithmetic operator
• Statement must be of the form variableName =
variableName arithmeticOperator value
• Abbreviated as variableName arithmeticOperator =
value
– Example: price = price*1.05; can be abbreviated
as price *= 1.05;
• Most common operators are += , -= , *= , /= , and
%=
An Introduction to Programming with C++, Seventh Edition 27
Arithmetic Assignment Operators (cont’d)

Figure 4-13 How to use an arithmetic assignment operator

An Introduction to Programming with C++, Seventh Edition 28


Step 5–Desk-Check the Program

• Fifth step is to desk-check the program to make sure


instructions were translated correctly
• You should desk-check the program using sample data
used to desk-check the algorithm
• Results of both desk-checks should be the same
• First, place names of the declared memory locations in
a new desk-check table along with each memory
location’s initial value
• Next, desk-check remaining C++ instructions in order,
recording any changes made to the variables

An Introduction to Programming with C++, Seventh Edition 29


Step 5–Desk-Check the Program (cont’d.)

Figure 4-14 Algorithm’s desk-check table from Chapter 2

Figure 4-15 Variable names and initial values entered in the


program’s desk-check table

An Introduction to Programming with C++, Seventh Edition 30


Step 5–Desk-Check the Program (cont’d.)

Figure 4-16 Input values entered in the program’s desk-check table

Figure 4-17 Desk-check table showing the result of the


total bill without liquor charge calculation

An Introduction to Programming with C++, Seventh Edition 31


Step 5–Desk-Check the Program (cont’d.)

Figure 4-18 Desk-check table showing the result of the tip calculation

Figure 4-19 Program’s desk-check table showing the


results of the second desk-check

An Introduction to Programming with C++, Seventh Edition 32


Step 6–Evaluate and Modify the Program

• Final step in the problem-solving process


• You evaluate a program by running the program on the
computer and entering the sample data used when
desk-checking the program
• If evaluation reveals errors (known as bugs), they must
be fixed
• Process of locating and fixing errors is called debugging
• Two types of bugs:
1. syntax errors
2. logic errors
An Introduction to Programming with C++, Seventh Edition 33
Step 6–Evaluate and Modify the Program
(cont’d.)

• Syntax errors
– result from breaking programming language’s rules; cause
compiler errors
• Logic errors
– don’t cause compiler errors; can be hard to identify
– Example: entering instructions in the wrong order
• Need a text editor to enter C++ instructions
• Instructions are called source code and are saved in source files
with extension .cpp
• Need a compiler to translate source code into machine code
(also called object code)
An Introduction to Programming with C++, Seventh Edition 34
Step 6–Evaluate and Modify the Program
(cont’d.)

• Compiler saves object code in object files with


extension .obj
• Linker combines .obj files with other machine code
necessary to run the program and produces an
executable file with extension .exe
• An IDE (integrated development environment) is a
development tool that contains both an editor and
compiler
• A command-line compiler contains only the compiler and
requires a separate editor to enter source code

An Introduction to Programming with C++, Seventh Edition 35


Step 6–Evaluate and Modify the Program
(cont’d.)

Figure 4-20 Process by which source code


is translated into executable code
An Introduction to Programming with C++, Seventh Edition 36
Step 6–Evaluate and Modify the Program
(cont’d.)

• A comment is a form of internal documentation; written


by placing // in front of the comment text
– Ignored by the compiler
– Considered good programming practice; makes code more
readable
• A #include directive allows you to merge the source
code in one file with that in another file
• The #include <iostream> is required when using
the cin or cout stream objects
– Not a statement, so no semicolon needed at the end

An Introduction to Programming with C++, Seventh Edition 37


Step 6–Evaluate and Modify the Program
(cont’d.)

• A using directive tells the compiler where in internal


memory it can find definitions of C++ keywords and
classes like double or string
• The using namespace std; directive indicates
that the definitions of the standard C++ keywords and
classes are located in the std (standard) namespace
– Is a statement, so semicolon required at the end
• A namespace is a special area in internal memory

An Introduction to Programming with C++, Seventh Edition 38


Step 6–Evaluate and Modify the Program
(cont’d.)

• A function is a block of code that performs a task


• Functions have parentheses following their name
(Example: main())
• Some functions require information between the
parentheses; others do not
• Every C++ program has one (and only one) main
function; this is where program execution begins
• Some functions return a value, and the data type they
return appears to the left of the function name
– Example: int main()
An Introduction to Programming with C++, Seventh Edition 39
Step 6–Evaluate and Modify the Program
(cont’d.)

• Other functions do not return a value, and void


appears to the left of the function name
• The return type, name, and parameters (information in
parentheses) constitute the function header, which
marks the beginning of the function
• After the function header, you enter the function’s code
• You enclose a function’s code in a set of braces ({})
• The code between the braces is called the function body

An Introduction to Programming with C++, Seventh Edition 40


Step 6–Evaluate and Modify the Program
(cont’d.)

Figure 4-21 Treyson Mobley program

An Introduction to Programming with C++, Seventh Edition 41


Step 6–Evaluate and Modify the Program
(cont’d.)

Figure 4-21 Treyson Mobley program (cont’d.)


An Introduction to Programming with C++, Seventh Edition 42
Step 6–Evaluate and Modify the Program
(cont’d.)

Figure 4-22 Command Prompt window

An Introduction to Programming with C++, Seventh Edition 43


Problem

• Create a C++ program that will determine the area of


the following:
– Circle
– Square
– Rectangle
– Triangle

An Introduction to Programming with C++, Seventh Edition 44

You might also like