C++ Programming: From Problem Analysis to Program Design, Second Edition Chapter 11: Records (structs)

Slides:



Advertisements
Similar presentations
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 7: User-Defined Functions II.
Advertisements

C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 7: User-Defined Functions II.
Chapter 7: User-Defined Functions II
Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 10: Records ( structs )
Chapter 11: Records (structs)
C++ Programming: From Problem Analysis to Program Design, Second Edition Chapter 7: User-Defined Functions II.
An Introduction to Programming with C++ Fifth Edition
Chapter 9: Arrays and Strings
Chapter 9: Arrays and Strings
Chapter 11: Classes and Data Abstraction
Chapter 8 Arrays and Strings
Arrays. Objectives Learn about arrays Explore how to declare and manipulate data into arrays Learn about “array index out of bounds” Become familiar with.
Chapter 11 Structure. 2 Objectives You should be able to describe: Structures Arrays of Structures Structures as Function Arguments Dynamic Structure.
EGR 2261 Unit 10 Records (structs)
Data Structures Using C++ 2E Chapter 3 Pointers and Array-Based Lists.
Chapter 10: Records (structs)
Chapter 8 Arrays and Strings
Chapter 10 Applications of Arrays and Strings. Chapter Objectives Learn how to implement the sequential search algorithm Explore how to sort an array.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition, Fifth Edition Chapter 7: User-Defined Functions II.
1 DATA STRUCTURES: LISTS. 2 LISTS ARE USED TO WORK WITH A GROUP OF VALUES IN AN ORGANIZED MANNER. A SERIES OF MEMORY LOCATIONS CAN BE DIRECTLY REFERENCED.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 11: Records ( struct s)
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 10: Records ( struct s)
Introduction to Arrays in Java Corresponds with Chapter 6 of textbook.
Java Programming: From Problem Analysis to Program Design, 4e
Chapter 10: Records (structs)
C++ Programming: From Problem Analysis to Program Design, Second Edition1 Objectives In this chapter you will: Learn about the pointer data type and pointer.
Chapter 10: Records (structs)
Chapter 11: Classes and Data Abstraction. C++ Programming: Program Design Including Data Structures, Fourth Edition2 Objectives In this chapter, you will:
Edited from Powerpoint Slides provided by Thomson Learning
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Arrays.
CHAPTER 7 arrays I NTRODUCTION T O C OMPUTER P ROGRAMMING (CSC425)
A FIRST BOOK OF C++ CHAPTER 16 DATA STRUCTURES. OBJECTIVES In this chapter, you will learn about: Single Structures Arrays of Structures Structures as.
Structures (aka records, structs) Textbook Chapter 11 sections:
Data Structures Using C++1 Chapter 3 Pointers Dr. Liu.
Data Structures Using C++1 Chapter 3 Pointers and Array-Based Lists.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 6: User-Defined Functions I.
Structures. Outline Introduction Structure Definitions and declarations Initializing Structures Operations on Structures members Structures as Functions.
Chapter 3: User-Defined Functions I
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 11: Records ( struct s)
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 12: Classes and Data Abstraction.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 11: Classes and Data Abstraction.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 05: Classes and Data Abstraction.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 6: User-Defined Functions I.
1. 2 Introduction Structure Definitions and Declarations Initializing Structures Operations on Structures Members Structures as Functions Parameters Array.
Arrays Declaring arrays Passing arrays to functions Searching arrays with linear search Sorting arrays with insertion sort Multidimensional arrays Programming.
Chapter 9 Arrays. Chapter Objectives Learn about arrays Explore how to declare and manipulate data into arrays Understand the meaning of “array index.
Chapter 9 Arrays. Chapter Objectives Learn about arrays Explore how to declare and manipulate data into arrays Understand the meaning of “array index.
Chapter 12: Pointers, Classes, Virtual Functions, Abstract Classes, and Lists.
Lecture 10: Structures. Outline Introduction Structure Definitions and declarations Initializing Structures Operations on Structures members Structures.
Chapter 7 User-Defined Methods.
Chapter 6: User-Defined Functions I
Chapter 7: User-Defined Functions II
Computer Programming BCT 1113
About the Presentations
MIS 120 Structures.
Records C++ Structs Chapter 10.1.
User-Defined Functions
C++ Structs.
Records C++ Structs Chapter 12.
Chapter 9: Records (structs)
Chapter 9: Records (structs)
Chapter 10: Records (structs)
Chapter 9: Records (structs)
Objectives In this chapter, you will: - Learn about records (structs) - Examine operations on a struct - Manipulate data using a struct - Learn about the.
Chapter 7: User-Defined Functions II
Chapter 11: Records (structs)
Chapter 9: Records (structs)
Chapter 11 Structure and Union Types.
Presentation transcript:

C++ Programming: From Problem Analysis to Program Design, Second Edition Chapter 11: Records (structs)

C++ Programming: From Problem Analysis to Program Design, Second Edition2 Objectives In this chapter you will: Learn about records (structs) Examine various operations on a struct Explore ways to manipulate data using a struct Learn about the relationship between a struct and functions Discover how arrays are used in a struct Learn how to create an array of struct items

C++ Programming: From Problem Analysis to Program Design, Second Edition3 Records (structs) Struct: collection of a fixed number of components, accessed by name Components may be of different types Components of a struct are called the members of the struct struct is a reserved word

C++ Programming: From Problem Analysis to Program Design, Second Edition4 Records (structs) (continued) The general syntax of a struct is: struct structName { dataType1 identifier1; dataType2 identifier2;. dataTypen identifiern; };

C++ Programming: From Problem Analysis to Program Design, Second Edition6 Accessing struct Members The syntax for accessing a struct member is: structVariableName.memberName The dot (.) is an operator, called the member access operator

C++ Programming: From Problem Analysis to Program Design, Second Edition7 Assignment Value of one struct variable can be assigned to another struct variable of the same type using an assignment statement The statement: student = newStudent; copies the contents of newStudent into student

C++ Programming: From Problem Analysis to Program Design, Second Edition8 Comparison (Relational Operators) Compare struct variables member-wise To compare the values of student and newStudent: if(student.firstName == newStudent.firstName && student.lastName == newStudent.lastName).

C++ Programming: From Problem Analysis to Program Design, Second Edition9 Input/Output No aggregate input/output operations on a struct variable Data in a struct variable must be read one member at a time The contents of a struct variable must be written one member at a time

C++ Programming: From Problem Analysis to Program Design, Second Edition10 struct Variables and Functions A struct variable can be passed as a parameter by value or by reference A function can return a value of type struct

C++ Programming: From Problem Analysis to Program Design, Second Edition12 Arrays in structs Two key items are associated with a list: −Values (elements) −Length of the list Define a struct containing both items: const arraySize = 1000; struct listType { int listElem[arraySize]; //array containing the list int listLength; //length of the list };

C++ Programming: From Problem Analysis to Program Design, Second Edition15 Programming Example A company has six salespeople Every month they go on road trips to sell the company’s product At the end of each month, the total sales for each salesperson, salesperson’s ID, and the month, are recorded in a file At the end of each year, the manager of the company asks for a report

C++ Programming: From Problem Analysis to Program Design, Second Edition16 Output Format Annual Sales Report ID QT1 QT2 QT3 QT4 Total ______________________________________________________________ _ Total Max Sale by SalesPerson: ID = 57373, Amount = $ Max Sale by Quarter: Quarter = 3, Amount = $ QT1 stands for quarter 1 (months 1 to 3), QT2 for quarter 2 (months 4 to 6), QT3 for quarter 3 (months 7 to 9) and QT4 for quarter 4 (months 10 to 12)

C++ Programming: From Problem Analysis to Program Design, Second Edition17 Programming Example The salespeople IDs are stored in one file; sales data are stored in another file The sales data is in the following form: salesPersonID month saleAmount. Sales data are not ordered

C++ Programming: From Problem Analysis to Program Design, Second Edition18 Input/Output Input: file containing each salesperson’s ID, and a second file containing the sales data Output: file containing annual sales report in the above format

C++ Programming: From Problem Analysis to Program Design, Second Edition19 Problem Analysis Main components for each sales person: −ID −Quarterly sales amount −Total annual sales amount Because the components are of different types, group them in a struct

C++ Programming: From Problem Analysis to Program Design, Second Edition20 Program Analysis (continued) There are six people, so an array of 6 components is used Because the program requires the company’s total sales for each quarter −We need an array of four components to store the data

C++ Programming: From Problem Analysis to Program Design, Second Edition22 Program Analysis (continued) Read the salespeople IDs into the array salesPersonList Initialize the quarterly sales and total sales for each salesperson to 0

C++ Programming: From Problem Analysis to Program Design, Second Edition23 Program Analysis (continued) For each entry in the file containing the sales data 1.Read ID, month, sale amount for the month 2.Search salesPersonList to locate the component corresponding to this salesperson 3.Determine the quarter corresponding to the month 4.Update the sales for the quarter by adding the sale amount for the month

C++ Programming: From Problem Analysis to Program Design, Second Edition24 Program Analysis (continued) Once the sales data file is processed 1.Calculate the total sale by salesman 2.Calculate the total sale by quarter 3.Print the report

C++ Programming: From Problem Analysis to Program Design, Second Edition25 Algorithm Design Translates into the following algorithm 1.Initialize the array sales 2.Process the sales data 3.Calculate the total sale by salesman 4.Calculate the total sale by quarter 5.Print the report 6.Calculate and print maximum sale by salesman 7.Calculate and print maximum sale by quarter

C++ Programming: From Problem Analysis to Program Design, Second Edition26 Main Algorithm 1.Declare the variables 2.Prompt user to enter name of file containing the salesperson’s ID data 3.Read the name of the input file 4.Open the input file 5.If input file does not exist, exit 6.Initialize the array salesPersonList by calling the function initialize

C++ Programming: From Problem Analysis to Program Design, Second Edition27 Main Algorithm (continued) 7.Close input file containing salesperson’s ID 8.Prompt user to enter name of file containing sales data 9.Read the name of the input file 10.Open the input file 11.If input file does not exist, exit 12.Prompt user to enter name of output file 13.Read the name of the output file

C++ Programming: From Problem Analysis to Program Design, Second Edition28 Main Algorithm (continued) 14.Open the output file 15.Output data to two decimal places 16.Process sales data Call the function getData

C++ Programming: From Problem Analysis to Program Design, Second Edition29 Main Algorithm (continued) 17.Calculate the total sale by quarter by calling the function saleByQuarter 18.Calculate the total sale by salesman by calling the function totalSaleByPerson 19.Print the report in the tabular form. Call the function printReport 20.Find and print the salesperson who produces the maximum sales for the year by calling the function maxSaleByPerson

C++ Programming: From Problem Analysis to Program Design, Second Edition30 Main Algorithm (continued) 21.Find and print the quarter producing the maximum sale for the year by calling the function maxSaleByQuarter 22.Close files

C++ Programming: From Problem Analysis to Program Design, Second Edition31 Summary Struct: collection of a fixed number of components Components can be of different types struct is a reserved word No memory is allocated for a struct; memory is allocated for struct variables when declared Components of a struct are called members

C++ Programming: From Problem Analysis to Program Design, Second Edition32 Summary struct components are accessed by name Dot (.) operator is called the member access operator Members of a struct are accessed using the dot (.) operator The only built-in operations on a struct are the assignment and member access

C++ Programming: From Problem Analysis to Program Design, Second Edition33 Summary Neither arithmetic nor relational operations are allowed on structs struct can be passed by value or reference A function can return a value of type struct A struct can be a member of another struct