1 / 30

Introduction to Programming

This lecture covers code for calculating salaries and introducing pointers in programming. Includes logic for identifying unlucky individuals and displaying output. Also covers location and declaration of pointers, swapping values, and using constant pointers.

juliek
Download Presentation

Introduction to Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Programming Lecture 14

  2. Code calculateSalary ( int sal [ ] [ 2 ] , int lucky [ ] , int numEmps ) { for ( i = 0 ; i < numEmps ; i ++ ) { // netSalary = grossSalary – tax if ( sal [ i ] [ 0 ] <= 5000 ) { sal [ i ] [ 1 ] = sal [ i ] [ 0 ] ; }

  3. Code else { if ( sal [ i ] [ 0 ] <= 10000 ) { sal [ i ] [ 1 ] = sal [ i ] [ 0 ] - 0.05*sal [ i ] [ 0 ] ; }

  4. Code else { if ( sal [ i ] [ 0 ] <= 20000 ) { sal [ I ] [ 1 ] = sal [ I ] [ 0 ] - 0.1 * sal [ I ] [ 0 ] ; }

  5. Code else { sal [ i ] [ 1 ] = sal [ i ] [ 0 ] - 0.15 * sal [ i ] [ 0 ] ; } } } }

  6. if ( sal [ i ] [ 0 ] >= 0 && sal [ i ] [ 0 ] <= 5000 ) { sal [ i ] [ 1 ] = sal [ i ] [ 0 ] ; } if ( sal [ i ] [ 0 ] > 5000 && sal [ i ] [ 0 ] < 10000 ) { sal [ i ] [ 1 ] = sal [ i ] [ 0 ] - 0.05 * sal [ i ] [ 0 ] ; } ... … …

  7. if ( grossSalary > sal [ i ] [ 0 ] && netSalary < sal [ i ] [ 1 ] ) This logic will fail

  8. Code void locateUnluckyIndividual ( int sal [ ] [ 2 ] , int lucky [ ] , int numEmps ) { int i , j ; int grossSalary , netSalary ; for ( i = 0 ; i < numEmp ; i ++ ) { grossSalary = sal [ i ] [ 0 ] ; netSalary = sal [ i ] [ 1 ] ; for ( j = 0 ; j < numEmp ; j ++ ) { if ( grossSalary > sal [ j ] [ 0 ] && netSalary < sal [ j ] [ 1 ] ) { lucky [ i ] = 1 ; } } } }

  9. Code void displayOutput ( int sal [ ] [ 2 ] , int lucky [ ] , int numEmps ) { for ( i = 0 ; i < numEmp ; i ++ ) { if ( lucky [ i ] == 1 ) { cout<< “Employee No.” << i+1 << “ is unlucky, Gross Salary = ” << sal [ i ] [ 0 ] << “ Net Salary = ” << sal [ i ] [ 1 ] << “\n” ; } } }

  10. Pointers

  11. Pointers Location x 60000 10 Address of x

  12. Declaring Pointer to Integer int *myptr ; myptr is pointer to an integer

  13. Declaring Pointers double *x ; char *c ;

  14. Example int *ptr ; int x ; x = 10 ; ptr = &x ;

  15. Dereferencing Operator * *ptr is read as “The value of what ever ptr points to”

  16. z = *ptr * 2 ;

  17. Initializing Pointers ptr = &var ; ptr = 0 ; ptr = NULL ; 0 and NULL points to nothing

  18. Example main ( ) { int numEmp ; …. funct ( &numEmp ) ; …. } void funct ( int *numEmp ) { cin >> *numEmp ; }

  19. Declaring pointers int *ptr1 , *ptr2 , *ptr3 ;

  20. Declaring pointers int *ptr , x ;

  21. Declaring pointers int *ptr , x , a [ 10 ] ;

  22. 1 1 3 2 5 3 6 4 2 5 4 6 8 8 9 9 Bubble Sort

  23. Swapping

  24. Swap temp = x ; x = y ; y = temp ;

  25. Example main ( ) { int x = 10 , y = 20 , * yptr , * xptr ; yptr = &y ; xptr = &x ; swap ( yptr , xptr ) ; }

  26. Example swap ( int *yptr , int *xptr ) { … … … }

  27. const int *const myptr = &x ; myptr is a constant pointer to an integer

  28. const const int x = 10 ;

  29. const const int *myptr = &x ; myptr is a pointer to a constant integer

  30. Array int a[ 10 ] ; a Starting Address of Array

More Related