Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11: Structured Data.

Slides:



Advertisements
Similar presentations
Copyright © 2002 Pearson Education, Inc. Slide 1.
Advertisements

Chapter 6 Structures and Classes. Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-2 Learning Objectives Structures Structure types Structures.
Copyright © 2002 Pearson Education, Inc. Slide 1.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7: Introduction to Classes and Objects Starting Out with C++ Early.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8: Arrays Starting Out with C++ Early Objects Seventh Edition by.
Copyright © 2012 Pearson Education, Inc. Chapter 11: Structured Data.
Lesson 11 Structured Data CS1 Lesson John Cole1.
Structure.
Student Data Score First Name Last Name ID GPA DOB Phone... How to store student data in our programs? 1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 1.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 18 Indexing Structures for Files.
Starting Out with C++: Early Objects 5th Edition
Copyright © 2005 Pearson Addison-Wesley. All rights reserved. Slide 1 Overview – Chapter Section 4 Arrays and Classes (10.4)
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Part 1 Conditionals and Loops.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7: Introduction to Classes and Objects Starting Out with C++ Early.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Brief Edition Chapter 10 Structured Data.
Chapter 11: Structured Data. Slide Introduction An array makes it possible to access a list or table of data of the same data type by using a single.
Chapter 6 Structures and Classes. Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-2 Structures  2 nd aggregate data type: struct  Recall:
Structured Data Types array array union union struct struct class class.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 10: Records ( struct s)
Copyright © 2012 Pearson Education, Inc. Chapter 13: Introduction to Classes.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Procedural and Object-Oriented Programming 13.1.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7: Introduction to Classes and Objects Starting Out with C++
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13: Introduction to Classes.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 11 Structured Data.
Programmer Defined Structures (Records)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8: Arrays Starting Out with C++ Early Objects Seventh Edition by.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7: Introduction to Classes and Objects Starting Out with C++
Copyright 2004 Scott/Jones Publishing Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 7 Structured Data and Classes.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Sixth Edition Chapter 7: Introduction.
1 Chapter 11 Structured Data. 2 Topics 10.1 Abstract Data Types 10.2 Combining Data into Structures 10.3 Accessing Structure Members 10.4 Initializing.
Copyright © 2012 Pearson Education, Inc. Chapter 11: Structured Data.
Structured Data and Classes Chapter 7. Combining Data into Structures Structure: C++ construct that allows multiple variables to be grouped together Structure.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11: Structured Data.
Copyright © 2012 Pearson Education, Inc. Chapter 11: Structured Data.
Structured Data Chapter 11. Combining Data Into Structures Structure: C++ construct that allows multiple variables to be grouped together Format: struct.
Chapter 7 A Data Types – Structures Structures Structure: C++ construct that allows multiple variables to be grouped together Structure Declaration.
 Structures are like arrays except that they allow many variables of different types grouped together under the same name. For example you can create.
Structured Data Types struct class Structured Data Types array – homogeneous container collections of only one type struct – heterogeneous data type.
1 Structured Data (Lecture 11) By: Dr. Norazah Yusof FSKSM, UTM.
Chapter 7: Arrays. Outline Array Definition Access Array Array Initialization Array Processing 2D Array.
Copyright © 2006 Pearson Addison-Wesley. All rights reserved This Weeks Topics: Pointers (continued)  Modify C-String through a function call 
Structured Data and Classes
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 14: More About Classes.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7: Introduction to Classes and Objects Starting Out with C++ Early.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 12 Separate Compilation and Namespaces.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Eighth Edition by Tony Gaddis,
Introduction to Computers and Programming Class 24 Structures (structs) Professor Avi Rosenfeld.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 11: Structured Data.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 11: Structured Data.
Struct s (7.4) Used as data aggregates for an entity can be different types of data e.g. for student id, name, GPA, address,... Similar to classes, but.
Extra Recitations Wednesday 19:40-22:30 FENS L055 (tomorrow!) Friday 13:40-16:30 FENS L063 Friday 17: :30 FENS L045 Friday 19:40-22:30 FENS G032.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 13: Introduction to Classes.
C Programming Structured Data.
1 1  Lecture 11 – Structured Data FTMK, UTeM – Sem /2014.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7. 12: Structures Starting Out with C++ Early Objects Eighth.
Chapter Structured Data 11. Combining Data into Structures 11.2.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Arrays Hold Multiple Values 7.1.
Lecture 2 Arrays. Topics 1 Arrays hold Multiple Values 2 Accessing Array Elements 3 Inputting and Displaying Array Contents 4 Array Initialization 5 Using.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7: Introduction to Classes and Objects Starting Out with C++
11 Chapter Structured Data
Chapter 7: Introduction to Classes and Objects
Chapter 11: Structured Data.
Data Types – Structures
Data Types – Structures
Heterogeneous aggregate datatypes
Chapter 11: Structured Data.
Standard Version of Starting Out with C++, 4th Edition
Programming Fundamental
Presentation transcript:

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11: Structured Data

Structure vs Array Array - data is –ordered - index number –homogeneous - elements have same type –used for lists or collections Structure - data is –unordered –heterogeneous –used for real-world objects

Structures (Records) Example: Student –Id Number –Name –Year, Program, Major, etc. Id Name YearProgram Major John Smith 1 B.Sc.CS Fields of structure

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Abstract Data Types 11.1

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11-5 Abstract Data Types A data type specifies –values that can be stored –operations that can be done on the values Abstraction: a definition that captures general characteristics without details User of an abstract data type does not need to know the implementation of the data type, e.g., how the data is stored ADTs are created by programmers

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Combining Data into Structures 11.2

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11-7 Combining Data into Structures Structure: C++ construct that allows multiple variables to be grouped together General Format: struct { type1 field1; type2 field2;... };

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11-8 Example struct Declaration struct Student { int studentID; string name; short yearInSchool; double gpa; }; structure tag structure members

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11-9 struct Declaration Notes Must have ; after closing } struct names commonly begin with uppercase letter Multiple fields of same type can be in comma-separated list: string name, address;

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Defining Variables struct declaration does not allocate memory or create variables To define variables, use structure tag as type name: Student bill; studentID name yearInSchool gpa bill

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Accessing Structure Members 11.3

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Accessing Structure Members Use the dot (.) operator to refer to members of struct variables: cin >> stu1.studentID; getline(cin, stu1.name); stu1.gpa = 3.75; Member variables can be used in any manner appropriate for their data type

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11-13

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Program11-1 (Continued)

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11-15

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Displaying a struct Variable To display the contents of a struct variable, must display each field separately, using the dot operator: cout << bill; // won’t work cout << bill.studentID << endl; cout << bill.name << endl; cout << bill.yearInSchool; cout << " " << bill.gpa;

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Comparing struct Variables Cannot compare struct variables directly: if (bill == william) // won’t work Instead, must compare on a field basis: if (bill.studentID == william.studentID)...

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Initializing a Structure 11.4

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Initializing a Structure struct variable can be initialized when defined: Student s = {11465, "Joan", 2, 3.75}; Can also be initialized member-by- member after definition: s.name = "Joan"; s.gpa = 3.75;

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley More on Initializing a Structure May initialize only some members: Student bill = {14579}; Cannot skip over members: Student s = {1234, "John",, 2.83}; // illegal Cannot initialize in the structure declaration, since this does not allocate memory

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Excerpts From Program 11-4

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Arrays of Structures 11.5

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Arrays of Structures Structures can be defined in arrays Can be used in place of parallel arrays const int NUM_STUDENTS = 20; Student stuList[NUM_STUDENTS]; Individual structures accessible using subscript notation Fields within structures accessible using dot notation: cout << stuList[5].studentID;

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11-24

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11-25

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11-26