SlideShare a Scribd company logo
1 of 28
Lecture 04



  Structural Programming
                      in C++

You will learn:
i) Operators: relational and logical
ii) Conditional statements
iii) Repetitive statements
iv) Functions and passing parameter
v) Structures


                                       1
Structural Programming in C and C++


• Even though object-oriented programming is
  central to C++, you still need to know basic
  structural constructs to do the job.

• The implementation of the member functions of
  a class (i.e. methods in OOP term) is largely
  structural programming.

• Almost all the structural programming
  constructs in C are also valid in C++. 2/22
Relational Operators

. . .
int n;
cout << "Enter   a number: ";
cin >> n;
cout << "n<10    is " << (n < 10) << endl;
cout << "n>10    is " << (n > 10) << endl;
cout << "n==10   is " << (n == 10) << endl;
. . .



A Sample Run:
Enter   a number: 20
n<10    is 0
n>10    is 1
n==10   is 0
                                              3/22
Relational Operators
                         (cont.)

• Displaying the results of relational operations,
  or even the values of type bool variables, with
  cout << yields 0 or 1, not false and true.

• The relational operators in C++ include: >, <,
  ==, !=, >=, <=.

• Any value other than 0 is considered true,
  only 0 is false.
                                        4/22
Logical Operators

• Logical AND Operator: &&
        if ( x == 7 && y == 11 )
          statement;

• Logical OR Operator: ||
        if ( x < 5 || x 15 )
          statement;

• Logical NOT Operator: !
        if !(x == 7)
           statement;                   5/22
Operator Precedence




              SUM = SUM + 5
                   OR
                SUM =+ 5

                   6/22
Conditional Statement:   if
         Syntax




                         7/22
Conditional Statement:   if…else
                       Syntax

    If (x > 100)
        statement;
    else
        statement;


A statement can be a single statement or a
compound statement using { }.

                                      8/22
Conditional Statement:      switch
                     Syntax
switch(speed) {      Int a,b,c; char op;

    case 33:         cin >> a >>op >>b;
        statement;   switch(op)
        break;       case ‘+’:
    case 45:                 c= a+b;break;
        statement;
                     case ‘-’:
        break;
                             c= a-b;break;
    case 78:
        statement;   default:

        break;       cout <<“unknown operator”;
}                    }                9/22
Conditional Operator
      Syntax




                   10/22
Conditional Operator Syntax



  result = (alpha < 77) ? beta : gamma;
is equivalent to
  if (alpha < 77)
     result = beta;
  else
     result = gamma;
                                          11/22
Example
Result = (num > 0): ‘positive’: (num<0) : ’negative’: ’zero’


is equivalent to
if num>0
       result = ‘positive’;
else
       if num <0
              result = ‘negative’;
       else
                                                        12/22
The for Loop
   Syntax




               13/22
The for Loop
 Control Flow




                14/22
Example

For (I=1;I<=10;I++)   For (I=1;I<=10;I++)
 cout << I;            cout << “*”

cin>>n;                For (I=1;I<=10;I++)
For (I=1;I<=n;I++)     cout << “*” <<endl;
  sum = sum +I;       For (I=1;I<=3;I++)
                      For (j=1;j<=10;j++)
cout << sum;          cout << I << “*” <<j<<“=“<<I*j;

                                       15/22
The   while Loop
      Syntax




                   16/22
The while Loop
  Control Flow




                 17/22
Example
i = 1;               While ( I<=10 )
While (i<=10)              cout << “*”;
   cout << i;

Cin >> n; I = 1;
While (I<=n)
{ sum = sum + I;
    cout << sum
}
                                          18/22
The do Loop
  Syntax




              19/22
The do Loop
Control Flow




               20/22
Example

Do                   Cin >> n;
  {cout <<I;         Do
                     {
  I = I +1;
                          cout <<I;
} while (I<=10);          I ++;
                     } while (I<=n)



                                  21/22
Functions
Def :   Set of statements used for a specific task
Syntax: returntype fName( arguments)
          {… statements return variblename}
Types of functions:

1. Function with no arguments and no return
2. Functions with argument and no return
3. Functions with argument and a return
                                              22/22
Using Functions To Aid
                  Modularity
. . .
void starline();        // function prototype

int main()
{
      . . .
      starline();
      . . .
      starline();
      return 0;
}

void starline()         // function definition
{
  for(int j=0; j<45; j++)
    cout << '*';
  cout << endl;
                                         23/22
}
Passing Arguments To Functions

void repchar(char, int);

int main()
{ char chin;
  int nin;
  cin >> chin;
  cin >> nin;
  repchar(chin, nin);
  return 0;
}

void repchar(char ch, int n)
{
  for(int j=0; j < n; j++)
    cout << ch;
  cout << endl;                24/22
}
Returning Values From Functions

float lbstokg(float);

int main()
{
  float lbs;
  cout << "Enter your weight in pounds: ";
  cin >> lbs;
  cout << "Your weight in kg is "
       << lbstokg(lbs)
       << endl;
  return 0;
}

float lbstokg(float pounds)
{
  return 0.453592 * pounds;              25/22
}
Using Structures To Group Data

struct part {         //   declare a structure
   int modelnumber;   //   ID# of widget
   int partnumber;    //   ID# of widget part
   float cost;        //   cost of part
};

int main()
{
  part part1;
  part1.modelnumber = 6244;
  part1.partnumber = 373;
  part1.cost = 217.55;
  cout << "Model "   << part1.modelnumber
       << ", part " << part1.partnumber
       << ", cost $" << part1.cost << endl;
  return 0;
                                          26/22
}
Structures Within Structures

struct Distance {
   int feet;
   float inches;
};

struct Room {         int main()
   Distance length;   {
   Distance width;      Room dining={ {13, 6.5},{10, 0.0} };
};                      float l = dining.length.feet +
                                  dining.length.inches/12;
                        float w = dining.width.feet +
                                  dining.width.inches/12;
                        cout << "Dining room area is "
                             << l * w
                             << " square feet" << endl;
                        return 0;                27/22
                      }
28

More Related Content

What's hot

重構—改善既有程式的設計(chapter 9)
重構—改善既有程式的設計(chapter 9)重構—改善既有程式的設計(chapter 9)
重構—改善既有程式的設計(chapter 9)
Chris Huang
 
Powerpoint loop examples a
Powerpoint loop examples aPowerpoint loop examples a
Powerpoint loop examples a
jaypeebala
 
Javascript scoping
Javascript scopingJavascript scoping
Javascript scoping
Aditya Gaur
 

What's hot (20)

Functional Programming in C#
Functional Programming in C#Functional Programming in C#
Functional Programming in C#
 
重構—改善既有程式的設計(chapter 9)
重構—改善既有程式的設計(chapter 9)重構—改善既有程式的設計(chapter 9)
重構—改善既有程式的設計(chapter 9)
 
Operator overloading2
Operator overloading2Operator overloading2
Operator overloading2
 
Powerpoint loop examples a
Powerpoint loop examples aPowerpoint loop examples a
Powerpoint loop examples a
 
C++ TUTORIAL 2
C++ TUTORIAL 2C++ TUTORIAL 2
C++ TUTORIAL 2
 
A MuDDy Experience - ML Bindings to a BDD Library
A MuDDy Experience - ML Bindings to a BDD LibraryA MuDDy Experience - ML Bindings to a BDD Library
A MuDDy Experience - ML Bindings to a BDD Library
 
Javascript scoping
Javascript scopingJavascript scoping
Javascript scoping
 
Constructor,destructors cpp
Constructor,destructors cppConstructor,destructors cpp
Constructor,destructors cpp
 
What\'s New in C# 4.0
What\'s New in C# 4.0What\'s New in C# 4.0
What\'s New in C# 4.0
 
C++ TUTORIAL 1
C++ TUTORIAL 1C++ TUTORIAL 1
C++ TUTORIAL 1
 
C++ TUTORIAL 5
C++ TUTORIAL 5C++ TUTORIAL 5
C++ TUTORIAL 5
 
Pointers
PointersPointers
Pointers
 
P1
P1P1
P1
 
Day 1
Day 1Day 1
Day 1
 
C++ practical
C++ practicalC++ practical
C++ practical
 
Static and const members
Static and const membersStatic and const members
Static and const members
 
C++ programming
C++ programmingC++ programming
C++ programming
 
C programming
C programmingC programming
C programming
 
Asynchronous JS in Odoo
Asynchronous JS in OdooAsynchronous JS in Odoo
Asynchronous JS in Odoo
 
Lecture17
Lecture17Lecture17
Lecture17
 

Similar to Lecture04

Cs1123 8 functions
Cs1123 8 functionsCs1123 8 functions
Cs1123 8 functions
TAlha MAlik
 
C++ lectures all chapters in one slide.pptx
C++ lectures all chapters in one slide.pptxC++ lectures all chapters in one slide.pptx
C++ lectures all chapters in one slide.pptx
ssuser3cbb4c
 
12-Lec - Repetition For Loop.pptx
12-Lec - Repetition For Loop.pptx12-Lec - Repetition For Loop.pptx
12-Lec - Repetition For Loop.pptx
AqeelAbbas94
 

Similar to Lecture04 (20)

Lecture05
Lecture05Lecture05
Lecture05
 
lesson 2.pptx
lesson 2.pptxlesson 2.pptx
lesson 2.pptx
 
Object oriented programming system with C++
Object oriented programming system with C++Object oriented programming system with C++
Object oriented programming system with C++
 
Lecture#5 Operators in C++
Lecture#5 Operators in C++Lecture#5 Operators in C++
Lecture#5 Operators in C++
 
4th_Ed_Ch03.pdf
4th_Ed_Ch03.pdf4th_Ed_Ch03.pdf
4th_Ed_Ch03.pdf
 
C++ and OOPS Crash Course by ACM DBIT | Grejo Joby
C++ and OOPS Crash Course by ACM DBIT | Grejo JobyC++ and OOPS Crash Course by ACM DBIT | Grejo Joby
C++ and OOPS Crash Course by ACM DBIT | Grejo Joby
 
4. programing 101
4. programing 1014. programing 101
4. programing 101
 
Chainer-Compiler 動かしてみた
Chainer-Compiler 動かしてみたChainer-Compiler 動かしてみた
Chainer-Compiler 動かしてみた
 
Chp4_C++_Control Structures-Part2_Iteration.pptx
Chp4_C++_Control Structures-Part2_Iteration.pptxChp4_C++_Control Structures-Part2_Iteration.pptx
Chp4_C++_Control Structures-Part2_Iteration.pptx
 
C++ TUTORIAL 4
C++ TUTORIAL 4C++ TUTORIAL 4
C++ TUTORIAL 4
 
C++ TUTORIAL 3
C++ TUTORIAL 3C++ TUTORIAL 3
C++ TUTORIAL 3
 
C++InputOutput.pptx
C++InputOutput.pptxC++InputOutput.pptx
C++InputOutput.pptx
 
Cs1123 8 functions
Cs1123 8 functionsCs1123 8 functions
Cs1123 8 functions
 
C++ aptitude
C++ aptitudeC++ aptitude
C++ aptitude
 
C++ lectures all chapters in one slide.pptx
C++ lectures all chapters in one slide.pptxC++ lectures all chapters in one slide.pptx
C++ lectures all chapters in one slide.pptx
 
12-Lec - Repetition For Loop.pptx
12-Lec - Repetition For Loop.pptx12-Lec - Repetition For Loop.pptx
12-Lec - Repetition For Loop.pptx
 
operator overloading
operator overloadingoperator overloading
operator overloading
 
C++InputOutput.PPT
C++InputOutput.PPTC++InputOutput.PPT
C++InputOutput.PPT
 
3.Loops_conditionals.pdf
3.Loops_conditionals.pdf3.Loops_conditionals.pdf
3.Loops_conditionals.pdf
 
Advanced pointer
Advanced pointerAdvanced pointer
Advanced pointer
 

More from elearning_portal (11)

Lecture21
Lecture21Lecture21
Lecture21
 
Lecture19
Lecture19Lecture19
Lecture19
 
Lecture18
Lecture18Lecture18
Lecture18
 
Lecture10
Lecture10Lecture10
Lecture10
 
Lecture09
Lecture09Lecture09
Lecture09
 
Lecture07
Lecture07Lecture07
Lecture07
 
Lecture06
Lecture06Lecture06
Lecture06
 
Lecture20
Lecture20Lecture20
Lecture20
 
Lecture03
Lecture03Lecture03
Lecture03
 
Lecture02
Lecture02Lecture02
Lecture02
 
Lecture01
Lecture01Lecture01
Lecture01
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Recently uploaded (20)

ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 

Lecture04

  • 1. Lecture 04 Structural Programming in C++ You will learn: i) Operators: relational and logical ii) Conditional statements iii) Repetitive statements iv) Functions and passing parameter v) Structures 1
  • 2. Structural Programming in C and C++ • Even though object-oriented programming is central to C++, you still need to know basic structural constructs to do the job. • The implementation of the member functions of a class (i.e. methods in OOP term) is largely structural programming. • Almost all the structural programming constructs in C are also valid in C++. 2/22
  • 3. Relational Operators . . . int n; cout << "Enter a number: "; cin >> n; cout << "n<10 is " << (n < 10) << endl; cout << "n>10 is " << (n > 10) << endl; cout << "n==10 is " << (n == 10) << endl; . . . A Sample Run: Enter a number: 20 n<10 is 0 n>10 is 1 n==10 is 0 3/22
  • 4. Relational Operators (cont.) • Displaying the results of relational operations, or even the values of type bool variables, with cout << yields 0 or 1, not false and true. • The relational operators in C++ include: >, <, ==, !=, >=, <=. • Any value other than 0 is considered true, only 0 is false. 4/22
  • 5. Logical Operators • Logical AND Operator: && if ( x == 7 && y == 11 ) statement; • Logical OR Operator: || if ( x < 5 || x 15 ) statement; • Logical NOT Operator: ! if !(x == 7) statement; 5/22
  • 6. Operator Precedence SUM = SUM + 5 OR SUM =+ 5 6/22
  • 7. Conditional Statement: if Syntax 7/22
  • 8. Conditional Statement: if…else Syntax If (x > 100) statement; else statement; A statement can be a single statement or a compound statement using { }. 8/22
  • 9. Conditional Statement: switch Syntax switch(speed) { Int a,b,c; char op; case 33: cin >> a >>op >>b; statement; switch(op) break; case ‘+’: case 45: c= a+b;break; statement; case ‘-’: break; c= a-b;break; case 78: statement; default: break; cout <<“unknown operator”; } } 9/22
  • 10. Conditional Operator Syntax 10/22
  • 11. Conditional Operator Syntax result = (alpha < 77) ? beta : gamma; is equivalent to if (alpha < 77) result = beta; else result = gamma; 11/22
  • 12. Example Result = (num > 0): ‘positive’: (num<0) : ’negative’: ’zero’ is equivalent to if num>0 result = ‘positive’; else if num <0 result = ‘negative’; else 12/22
  • 13. The for Loop Syntax 13/22
  • 14. The for Loop Control Flow 14/22
  • 15. Example For (I=1;I<=10;I++) For (I=1;I<=10;I++) cout << I; cout << “*” cin>>n; For (I=1;I<=10;I++) For (I=1;I<=n;I++) cout << “*” <<endl; sum = sum +I; For (I=1;I<=3;I++) For (j=1;j<=10;j++) cout << sum; cout << I << “*” <<j<<“=“<<I*j; 15/22
  • 16. The while Loop Syntax 16/22
  • 17. The while Loop Control Flow 17/22
  • 18. Example i = 1; While ( I<=10 ) While (i<=10) cout << “*”; cout << i; Cin >> n; I = 1; While (I<=n) { sum = sum + I; cout << sum } 18/22
  • 19. The do Loop Syntax 19/22
  • 20. The do Loop Control Flow 20/22
  • 21. Example Do Cin >> n; {cout <<I; Do { I = I +1; cout <<I; } while (I<=10); I ++; } while (I<=n) 21/22
  • 22. Functions Def : Set of statements used for a specific task Syntax: returntype fName( arguments) {… statements return variblename} Types of functions: 1. Function with no arguments and no return 2. Functions with argument and no return 3. Functions with argument and a return 22/22
  • 23. Using Functions To Aid Modularity . . . void starline(); // function prototype int main() { . . . starline(); . . . starline(); return 0; } void starline() // function definition { for(int j=0; j<45; j++) cout << '*'; cout << endl; 23/22 }
  • 24. Passing Arguments To Functions void repchar(char, int); int main() { char chin; int nin; cin >> chin; cin >> nin; repchar(chin, nin); return 0; } void repchar(char ch, int n) { for(int j=0; j < n; j++) cout << ch; cout << endl; 24/22 }
  • 25. Returning Values From Functions float lbstokg(float); int main() { float lbs; cout << "Enter your weight in pounds: "; cin >> lbs; cout << "Your weight in kg is " << lbstokg(lbs) << endl; return 0; } float lbstokg(float pounds) { return 0.453592 * pounds; 25/22 }
  • 26. Using Structures To Group Data struct part { // declare a structure int modelnumber; // ID# of widget int partnumber; // ID# of widget part float cost; // cost of part }; int main() { part part1; part1.modelnumber = 6244; part1.partnumber = 373; part1.cost = 217.55; cout << "Model " << part1.modelnumber << ", part " << part1.partnumber << ", cost $" << part1.cost << endl; return 0; 26/22 }
  • 27. Structures Within Structures struct Distance { int feet; float inches; }; struct Room { int main() Distance length; { Distance width; Room dining={ {13, 6.5},{10, 0.0} }; }; float l = dining.length.feet + dining.length.inches/12; float w = dining.width.feet + dining.width.inches/12; cout << "Dining room area is " << l * w << " square feet" << endl; return 0; 27/22 }
  • 28. 28