Compound Assignment Operators in C++

Slides:



Advertisements
Similar presentations
Programming Funamental slides1 Control Structures Topics to cover here: Introduction to Control Structures in the algorithmic language Sequencing Sequencing.
Advertisements

If Statements & Relational Operators Programming.
Switch structure Switch structure selects one from several alternatives depending on the value of the controlling expression. The controlling expression.
C++ Programming Language Day 1. What this course covers Day 1 – Structure of C++ program – Basic data types – Standard input, output streams – Selection.
PRINCIPLES OF PROGRAMMING Revision. A Computer  A useful tool for solving a great variety of problems.  To make a computer do anything (i.e. solve.
Presented by Joaquin Vila Prepared by Sally Scott ACS 168 Problem Solving Using the Computer Week 12 Boolean Expressions, Switches, For-Loops Chapter 7.
Selection Statements in C++ If Statement in C++ Semantics: These statements have the same meaning as in the algorithmic language. 2- Two way selection:
Selection Structures (if & switch statements) (CS1123)
Switch Statement in C++. Syntax switch (selector) { case L1: statements1; break; case L2: statements2; break; … default: statements_n; } Semantics: This.
Looping II (for statement). CSCE 1062 Outline  for statement  Nested loops  Compound assignment operators  Increment and decrement operators.
Multi Way Selection You can choose statement(s) to run from many sets of choices. There are two cases for this: (a)Multi way selection by nested IF structure.
PROBLEM SOLVING & ALGORITHMS CHAPTER 5: CONTROL STRUCTURES - SELECTION.
Control Structures (A) Topics to cover here: Introduction to Control Structures in the algorithmic language Sequencing.
CHAPTER 8 CONTROL STRUCTURES Prepared by: Lec. Ghader R. Kurdi.
1 09/20/04CS150 Introduction to Computer Science 1 Let ’ s all Repeat Together.
Control structures Algorithm Development Conditional Expressions Selection Statements 1.
Chapter 7 Selection Dept of Computer Engineering Khon Kaen University.
111/18/2015CS150 Introduction to Computer Science 1 Announcements  I have not graded your exam yet.
Control Structures (B) Topics to cover here: Sequencing in C++ language.
Programming Fundamentals by Dr. Nadia Y. Yousif1 Control Structures (Selections) Topics to cover here: Selection statements in the algorithmic language:
Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 5 Looping.
CSE202: Lecture 5The Ohio State University1 Selection Structures.
CS Class 04 Topics  Selection statement – IF  Expressions  More practice writing simple C++ programs Announcements  Read pages for next.
4 - Conditional Control Structures CHAPTER 4. Introduction A Program is usually not limited to a linear sequence of instructions. In real life, a programme.
Introduction to Loop. Introduction to Loops: The while Loop Loop: part of program that may execute > 1 time (i.e., it repeats) while loop format: while.
The Ohio State University
Branching statements.
Basic concepts of C++ Presented by Prof. Satyajit De
Introduction to Computer Programming
Chapter 3 Selection Statements
Chapter Topics The Basics of a C++ Program Data Types
Chapter 3 Control Statements
REPETITION CONTROL STRUCTURE
CHAPTER 4 REPETITION CONTROL STRUCTURE / LOOPING
Chapter 1.2 Introduction to C++ Programming
Selection (also known as Branching) Jumail Bin Taliba by
Control Structures Combine individual statements into a single logical unit with one entry point and one exit point. Used to regulate the flow of execution.
Computing Fundamentals
LESSON 4 Decision Control Structure
Decisions Chapter 4.
C++ Programming: CS150 For.
Computing Fundamentals
Basic Elements of C++.
Chapter 2 Assignment and Interactive Input
EGR 2261 Unit 4 Control Structures I: Selection
The Selection Structure
Engineering Problem Solving with C++, Etter/Ingber
Programming Fundamentals
Chapter 5: Looping Starting Out with C++ Early Objects Seventh Edition
Basic Elements of C++ Chapter 2.
Control Statement Examples
TOPIC 4: REPETITION CONTROL STRUCTURE
Programming Funamental slides
Additional Control Structures
Chapter 7 Additional Control Structures
SELECTION STATEMENTS (2)
Programming Funamental slides
Chapter#3 Structured Program Development in C++
Chapter 7 Conditional Statements
Summary Two basic concepts: variables and assignments Basic types:
Chapter 4: Control Structures I (Selection)
Week 3 – Program Control Structure
Engineering Problem Solving with C++ An Object Based Approach
Engineering Problem Solving with C++ An Object Based Approach
Branching statements Kingdom of Saudi Arabia
C++ Basics CSci 107. A C++ program //include headers; these are modules that include functions that you may use in your //program; we will almost always.
Selection Control Structure
Module 3 Selection Structures 6/25/2019 CSE 1321 Module 3.
Switch Case Structures
Presentation transcript:

Compound Assignment Operators in C++ Simple assignment operator Compound assignment operator X = X + 1; X += 1; Y = Y – 1 ; Y -= 1 ; Z = Z + X ; Z += X ; P = P * item ; P *= item ; N = N * (x + 1) ; N *= (x + 1) ; Total = Total / (X+Y); Total /= (X+Y); Hours = Hours % 13; Hours %= 13; Programming Fundamentals

Increment and Decrement Operators in C++ Increment Operators Decrement Operators 1- Postfix operator: e.g. i++ 2- Prefix operator: e.g. ++i 1- Postfix operator: e.g. i-- 2- Prefix operator: e.g. --i For postfix operators, the increment (or decrement) occurs after the current value of the variable has been used. For prefix operators, the increment (or decrement) occurs first and the new value of the variable is then used. Example The following C++ statements has the effects as shown in the comment: i = 3; // initial value of i k = i++; // assigns 3 to k and 4 to i k = ++i; // assigns 5 to k and 5 to i k = i-- ; // assigns 5 to k and 4 to i k = --i ; // assigns 3 to k and 3 to i Programming Fundamentals

Increment and Decrement Operators Simple easy easiest x = x+1; x += 1 x++ x = x-1; x -= 1 x-- Programming Fundamentals

Programming Fundamentals Example Compute the following expression where: z=3, x=2, y=2 Z+= ++x - y--; Solution: Programming Fundamentals

Control Structures (Selections) Topics to cover here: Selection statements in the algorithmic language: One-Way Selection Two-Way Selection Multi-Way Selection Nested Structures Selection statements in C++ language Programming Fundamentals

Programming Fundamentals Selections .. cont. The selection statement allows to choose a set of statements for execution. The selection depends on the validity of a condition when the program is executed. The condition is a logical expression that has values as true or false. Programming Fundamentals

One-Way Selection IF (condition) THEN statements END IF Syntax: In pseudo code In C++ IF (condition) THEN statements END IF if (logical expression) statements; The semantics (execution) of this statement: If the value of the “condition” is true, the statements between IF .. END IF are executed and the execution continues to the statement after END IF. If the value of the “condition” is false, the statements between IF .. END IF are ignored and the execution continues from the statement that follows END IF. Programming Funamental slides Programming Fundamentals 7

Programming Fundamentals One-Way Selection The following figure shows the execution of this selection statement. Condition false true statements continue Programming Fundamentals

One-Way Selection .. Examples Write an algorithm that takes an integer and prints its double value if it is less than 50. First, we have to analyze the problem to understand what is its requirements and how to solve it. 1- Analysis stage: Problem Input: - An integer, say n Problem Output: - The double value of n Criteria if n < 50, print its double value Programming Fundamentals

Programming Fundamentals Example 1 .. cont. 2- Algorithm Design ALGORITHM Double INPUT n IF ( n < 50 ) THEN OUTPUT “The double value is “ , n * 2 END IF OUTPUT “ Finished” END Programming Fundamentals

Programming Fundamentals Example 1 .. cont. 3- Testing the algorithm n (n < 50) 12 --- true The output: The double value is 24 Finished Programming Fundamentals

Programming Fundamentals Example 1: C++ Program #include <iostream> using namespace std; void main ( ) { int n ; cin >> n ; if (n < 50) cout << “The double value is “ << n * 2 << endl ; cout << “ Finished “ << endl; } Programming Fundamentals

Programming Fundamentals Example 2 Write an algorithm that takes two integers and prints the smallest number. Use only one output statement. 1- Analysis stage: Problem Input: - Two integers, say num1 and num2 Problem Output: - The smaller number Criteria Print the smaller number using only one output statement Programming Fundamentals

Programming Fundamentals Example 2 .. cont. 2- Algorithm Design ALGORITHM Smallest INPUT num1, num2 temp  num1 IF ( num2 < num1 ) THEN temp  num2 END IF OUTPUT “The smallest number is “ , temp END Smallest Programming Fundamentals

Programming Fundamentals Example 2 .. cont. 3- Testing the algorithm num1 num2 temp (num2<num1) 9 3 --- 9 true 3 The output: The smallest number is 3 Programming Fundamentals

Programming Fundamentals Example 2: C++ Program #include <iostream> using namespace std; void main ( ) { int num1, num2, temp; cin >> num1>>num2; temp = num1; if (num2 < num1) temp = num2; cout << “The smallest number is: “<< temp; } Programming Fundamentals

Programming Fundamentals Example 3 Write an algorithm that takes three integers and prints their average, if there summation is over 50. 1- Analysis stage: Problem Input: - Three integers, say n1, n2, n3 Problem Output: - The average of the three numbers, or nothing Criteria Calculate the average only if the summation of the numbers is over 50. Programming Fundamentals

Programming Fundamentals Example 3.. cont. 2- Algorithm Design ALGORITHM Average INPUT n1, n2, n3 sum  n1 + n2 + n3 IF ( sum > 50 ) THEN avg  sum / 3 OUTPUT “The average is: “, avg END IF END Average Programming Fundamentals

Programming Fundamentals Example 3 .. cont. 3- Testing the algorithm n1 n2 n3 sum (sum>50) avg 60 70 80 210 true 70 The output: The average is: 70 Programming Fundamentals

Programming Fundamentals Example 3: C++ Program #include <iostream> using namespace std; void main ( ) { int n1, n2, n3, sum; float avg; cin >> n1>>n2>>n3; sum = n1 + n2 + n3; if (sum > 50) avg = sum / 3.0; cout << “The average is: “<< avg; } Programming Fundamentals

Two-Way Selection IF (condition) THEN statements1 ELSE statements2 This statement chooses- statements to run- from two sets of choices. Syntax: In pseudo code In C++ IF (condition) THEN statements1 ELSE statements2 END IF if (logical expression) statements1; else statements2; Programming Funamental slides Programming Fundamentals 21

Two-Way Selection .. cont. The semantics (execution) of this statement: If the value of the “condition” is true, the statements after THEN are executed and the execution continues to the statement after END IF. If the value of the “condition” is false, the statements after ELSE are executed and the execution continues from the statement that follows END IF. The following figure shows this execution: Programming Fundamentals

Two-Way Selection .. cont. condition false true statements2 statements1 continue Programming Fundamentals

Two-Way Selection .. Examples Write an algorithm that takes two integers and prints the smallest number with appropriate message. 1- Analysis stage: Problem Input: - Two integers, say num1 and num2 Problem Output: - The smaller number Programming Fundamentals

Programming Fundamentals Example 4 .. cont. 2- Algorithm Design ALGORITHM Smaller INPUT num1, num2 IF ( num1 < num2 ) THEN OUTPUT “The smaller number is “ , num1 ELSE OUTPUT “The smaller number is “ , num2 END IF END Smaller Programming Fundamentals

Programming Fundamentals Example 4 .. cont. 3- Testing the algorithm num1 num2 (num2<num1) 9 3 --- true The output: The smaller number is 3 Programming Fundamentals

Programming Fundamentals Example 4: C++ Program #include <iostream> using namespace std; void main ( ) { int num1, num2 ; cin >> num1 >> num2 ; if ( num1 < num2 ) cout << “The smaller value is “ << num1 << endl ; else cout << “The smaller value is “ << num12 << endl ; } Programming Fundamentals

Programming Fundamentals Example 5 Write an algorithm that takes prices of two items, if there total is over 100 JDs, calculate a discount of 40% and tax of 16%. Otherwise, calculate a discount of 20% and tax of 6%. Then calculate the total price as: Total + tax – Discount. 1- Analysis stage: Problem Input: - Two prices, p1 and p2 Problem Output: - The total price of the two items Criteria check whither the total prices is over 100 or not. Programming Fundamentals

Programming Fundamentals Example 5 .. cont. 2- Algorithm Design ALGORITHM Total_Price INPUT p1, p2 sub_total  p1 + p2 IF (sub_total > 100) THEN Discount  sub_total * 0.4 Tax  sub_total * 0.16 ELSE Discount  sub_total * 0.2 Tax  sub_total * 0.06 END IF Total  sub_total + Tax - Discount END Total_Price Programming Fundamentals

Programming Fundamentals Example 5: C++ Program #include <iostream> using namespace std; void main ( ) { float p1, p2, sub_total, discount, tax, total; cin >> p1 >> p2; sub_total = p1 + p2; if ( sub_total > 100) { discount = sub_total * 0.4; tax = sub_total * 0.16; } else discount = sub_total * 0.2; tax = sub_total * 0.06; Programming Fundamentals

Programming Fundamentals Multi Way Selection You can choose statement(s) to run from many sets of choices. There are two cases for this: Multi way selection by nested IF structure Multi way selection by SWITCH structure Programming Fundamentals

Multi Way Selection by Nested IF Structure The structure that contains another structure of the same type is called a nested structure. In the Nested IF structure, the statements that exists between IF and ELSE or between IF and END IF can contain IF statement. Programming Fundamentals

Multi Way Selection by Nested If Structure .. Cont. Syntax of one possible structure: IF (condition1) THEN Statements1 ELSE IF (condition2) THEN Statements2 ELSE IF (Condition3) THEN Statements3 ELSE IF (Condition4) THEN Statements4 END IF Note: The nest can be to many levels. The following figure shows the execution of this structure. Programming Fundamentals

Multi Way Selection by Nested If Structure .. Cont. Syntax: In pseudo code In C++ IF (condition1) THEN Statements1 ELSE IF (condition2) THEN Statements2 ELSE IF (Condition3) THEN Statements3 ELSE IF (Condition4) THEN Statements4 END IF if (condition1) Statements1; else if (condition2) Statements2 ; else if(Condition3) Statements3; else if(Condition4) Statements4; Note: The nest can be to many levels. Programming Funamental slides Programming Fundamentals 34

Multi Way Selection by Nested If Structure .. Cont. True Condition1 Statements1 False Condition2 True Statements2 Rest of algorithm False Condition3 True Statements3 False Statements4 Programming Fundamentals

Multi Way Selection by Nested If Structure .. Examples Write an algorithm that inputs a student mark and outputs the corresponding grade, where grades are as follows: mark grade 90-100 A 80-89 B 70-79 C 60-69 D < 60 E Programming Fundamentals

Programming Fundamentals Example 4 .. Cont. 1- Analysis stage: Problem Input: - student’s mark, mark Problem Output: - grade Criteria - according to the previous grade table Programming Fundamentals

Programming Fundamentals Example 4 .. Cont. 2- Algorithm Design ALGORITHM Grades INPUT mark IF ( mark < 0 OR mark > 100 ) THEN OUTPUT “ Mark out of range” ELSE IF ( mark  90 AND mark  100 ) THEN OUTPUT “A” ELSE IF ( mark  80 ) THEN OUTPUT “B” ELSE IF ( mark  70 ) THEN OUTPUT “C” ELSE IF ( mark  60 ) THEN OUTPUT “D” ELSE OUTPUT “E” END IF END Grades Programming Fundamentals

Programming Fundamentals Example 3: C++ Program #include <iostream> using namespace std; void main ( ) { int mark ; cin >> mark; if ( mark < 0 || mark > 100 ) cout << “ Mark out of range” << endl; else if ( mark >= 90 ) cout << “A” << endl ; else if ( mark >= 80 ) else if ( mark >= 70 ) cout << “C” << endl ; else if ( mark >= 60 ) cout << “D” << endl ; else cout << “E” << endl ; } Programming Fundamentals

Comparison of Nested IF Structure and a Sequence of IF Structures Some times the nested IF structure is a good solution for a given problem than a sequence of IF structures. Consider the following example: Nested case: IF ( x > 0 ) THEN pos_count  pos_count + 1 ELSE IF ( x < 0 ) THEN neg_count  neg_count + 1 ELSE zero_count  zero_count + 1 END IF Programming Fundamentals

Comparison of Nested IF Structure and a Sequence of IF Structures (b) Sequence case: IF ( x > 0 ) THEN pos_count  pos_count + 1 END IF IF ( x < 0 ) THEN neg_count  neg_count + 1 IF ( x = 0 ) THEN zero_count  zero_count + 1 Programming Fundamentals

Comparison of Nested IF Structure and a Sequence of IF Structures In the previous example, only one statement should be executed for any value of x. In the sequence case, the sequence does not show clearly that exactly one of the three statements is executed for any value of x. In the nested case, only one statement is executed exactly. Therefore, it is better than the sequence case. Programming Fundamentals

Problem : Read three numbers to print the smallest one. #include <iostream.h> void main() { int a, b, c; cout<<"\nPlease Enter three numbers:"; cin>>a>>b>>c; cout<<"\nMin= "; if ((a < b) && (a < c)) cout<<a; if ((b < a) && (b < c)) cout<<b; if ((c < a) && (c < b)) cout<<c; cout<<endl; } Programming Fundamentals

Sorting via comparisons Program2 (nested if) a<b? b<c? c<b? a b c a<c? c b a c<a? b a c a c b c a b b c a

Programming Fundamentals Program2 (nested if) #include <iostream.h> void main() { int a, b, c; cout<<"\nPlease Enter three numbers:"; cin>>a>>b>>c; cout<<"\nMin= "; if (a < b) if (a < c) cout<<a; else cout<<c; else if (b < c) cout<<b; else cout<<c; cout<<endl; } Programming Fundamentals

Programming Fundamentals In Line Condition: You can include an in-line condition within a cout command or in an assignment statement. Example1: cout << (x>100? “Large”:”Small”) This is the same as the if condition: if (x>100) cout <<“Large”; else cout << “Small” Programming Fundamentals

Programming Fundamentals In Line Condition: Example2: int x, y; cin >> y; x = (y<0? -1:1); This is the same as the if condition: if (y<0) x = -1; else x = 1; Note here, that the result of the in-line condition, should match the data type of the variable at the left-hand side of the assignment statement Programming Fundamentals

Programming Fundamentals Note: In the previous examples, we used logical or relational expressions as conditions for if statement, since they generate a result of Boolean data types. In some cases, you may need to use a variable as the condition of an if statement. But, how this variable will be interpreted into the result of the condition? We can use: If(x) Programming Fundamentals

Programming Fundamentals Example: { int x; cin>> x; if (x) cout << “x is any number but zero”; else cout << “ x is zero”; } Notes: - a value of 0, is considered false in this case, while all other values, either positive or negative, are considered true. The same applies for float variables. Character variables always return true. Programming Fundamentals

Programming Fundamentals Note: cin is used within the if condition, to check wither the user enters a number or a character. If the user enters a number, it will be considered true, and print the first output message. While if the user enters character, it will be considered false, and print the second output message. The same applies with the float variables. This technique is used to make sure the user enters a number in such variables, and forbid him/her from entering characters instead. Programming Fundamentals

Programming Fundamentals Example: Check this example: void main () { int x; if (cin >> x) cout << "number"; else cout << "character"; } Programming Fundamentals

Switch Statement in C++

Switch Statement in C++ Syntax switch (selector) { case L1: statements1; break; case L2: statements2; break; … default: statements_n; } Semantics: This statement has the same meaning as in the algorithmic language.

Example 1: C++ Program void main ( ) { int lab; cin >> lab; #include <iostream> using namespace std; void main ( ) { int lab; cin >> lab; switch ( lab ) case 503 : cout << “ C++ “ << endl; break; case 508: cout << “ C# “ << endl; break; case 512 : cout << “ Oracle “ << endl; break; case 514: cout << “ PHP “ << endl; break; case 507: cout << “ Java “ << endl; break; default : cout << “ MS Office “ << endl; }

Example 2: C++ Program cin >> ch ; switch ( ch ) #include <iostream> using namespace std; void main ( ) { char ch ; cin >> ch ; switch ( ch ) { case ‘c’ : cout << “ do “ << endl; break; case ‘d’ : cout << “ re “ << endl; break; case ‘e’ : cout << “ mi “ << endl; break; case ‘f’ : cout << “ f “ << endl; break; case ‘g’ : cout << “ sol “ << endl; break; case ‘a’ : cout << “ la “ << endl; break; case ‘b’ : cout << “ ti “ << endl; break; default : cout << “ Invalid note was read “ << endl; }

Example 3: C++ Program #include <iostream> using namespace std; void main ( ) { char ch ; cout << “ \n Enter the grade of student: “<<endl ; cin >> ch; switch (ch) { case ‘A’ : case ‘a’ : cout<<”Excellent”; break; case ‘B’ : case ‘b’ : cout<<”Good”; case ‘C’ : case ‘c’ : cout<<”O.K”; case ‘D’ : case ‘d’ : case ‘F’ : case ‘f’ : cout<<”poor”; default: cout<<”invalid letter grade”; } }

Flow Chart of switch statement switch (grade) case ‘A’ : case ‘a’ : Display “Excellent” case ‘B’ : case ‘b’ : Display “Good” … Default : “……..”

Example 4: C++ Program void main() { int x,y; #include <iostream> using namespace std; void main() { int x,y; cout << "Enter 2 integer number: "; cin >> x>>y; switch (x+y) { case 7: cout << "Too small, sorry!"; break; case 5: cout << "Good job!\n"; case 4: cout << "Nice Pick!\n"; case 3: cout << "Excellent!\n"; case 2: cout << "Masterful!\n"; case 1: cout << "Incredible!\n"; default: cout << "Too large!\n"; } cout << "\n\n";

Example 5: C++ Program #include <iostream> using namespace std; void main ( ) { char ch ; float radius, area, circum; cout << “ Enter the radius of a circle: “ ; cin >> radius; cout << “ Enter a to calculate the area of a circle or c to calculate its circumference:” cin >> ch ; switch (ch) { case ‘a’ : area = 3.14f * radius * radius; cout << “ Area = “ << area << endl; break; case ‘c’ : circum = 2 * radius * 3.14f ; cout << “ Circumference = “ << circum << endl; break; default : cout << “ Invalid letter was read “ << endl; }

Convert Switch into IF #include <iostream> using namespace std; Rewrite Example 3, using IF instead of Switch: #include <iostream> using namespace std; void main ( ) { char ch ; cout << “ \n Enter the grade of student: “<<endl ; cin >> ch; if (ch == ‘A’ || ch == ‘a’) cout<<”Excellent”; else if (ch == ‘B’ || ch == ‘b’) cout<<”Good”; if (ch == ‘C’ || ch == ‘c’) cout<<”O.K”; if (ch == ‘D’ || ch == ‘d’ || ch == ‘F’ || ch == ‘f’) cout<<”poor”; cout<<”invalid letter grade”; }

Convert IF into Switch – Example 6 #include <iostream> using namespace std; void main ( ) { char degree; cout << “ \n Enter the temperature degree “<<endl ; cin >> degree; if (degree >= 50) cout<<”Very Hot”; else if (degree >= 35 && degree <50) cout<<”Hot”; else if (degree >= 20 && degree <35) cout<<”Fair”; else if (degree >= 0 && degree <20) cout<<”Cold”; else cout<<”Very Cold”; } #include <iostream> using namespace std; void main ( ) { char degree; cout << “ \n Enter the temperature degree “<<endl ; cin >> degree; switch (degree >= 50) { case true: cout<<”Very Hot”; break; case false: switch (degree >= 35 && degree <50) case true: cout<<”Hot”; break; switch (degree >= 20 && degree <35) case true: cout<<”Fair”; break; switch (degree >= 0 && degree <20) case true: cout<<”Cold”; break; case false: cout<<”Very Cold”; } } } }