Programming Languages Chapter 9 Programming From Problem Analysis Program Design Eighth Edition Records Structs Guide

subject Type Homework Help
subject Pages 7
subject Words 1974
subject Authors D. S. Malik

Unlock document.

This document is partially blurred.
Unlock all pages and 1 million more documents.
Get Access
page-pf1
C++ Programming: From Problem Analysis to Program Design, Eighth Edition 9-1
Chapter 9
Records (structs)
A Guide to this Instructor’s Manual:
We have designed this Instructor’s Manual to supplement and enhance your teaching
experience through classroom activities and a cohesive chapter summary.
This document is organized chronologically, using the same headings that you see in the
textbook. Under the headings, you will find lecture notes that summarize the section, Teacher
Tips, Classroom Activities, and Lab Activities. Pay special attention to teaching tips and
activities geared towards quizzing your students and enhancing their critical thinking skills.
In addition to this Instructor’s Manual, our Instructor’s Resources also contain PowerPoint
Presentations, Test Banks, and other supplements to aid in your teaching experience.
At a Glance
Instructor’s Manual Table of Contents
Overview
Objectives
Teaching Tips
Quick Quizzes
Class Discussion Topics
Additional Projects
Additional Resources
Key Terms
page-pf2
C++ Programming: From Problem Analysis to Program Design, Eighth Edition 9-2
Lecture Notes
Overview
In Chapter 9, students will be introduced to a data type that can be heterogeneous. They
will learn how to group together related values that are of differing types using records,
which are also known as structs in C++. First, they will explore how to create
Objectives
In this chapter, the student 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
Examine the difference between arrays and structs
Discover how arrays are used in a struct
Learn how to create an array of struct items
Learn how to create structs within a struct
Teaching Tips
Records (structs)
1. Define the C++ struct data type and describe why it is useful in programming.
Teaching
Tip
Discuss how previous programming examples and projects that used parallel
arrays or vectors might be simplified by using a struct to hold related
information.
2. Examine the syntax of a C++ struct.
page-pf3
C++ Programming: From Problem Analysis to Program Design, Eighth Edition 9-3
Accessing struct Members
1. Explain how to access the members of a struct using the C++ member access
operator.
2. Use the code snippets in this section to illustrate how to assign values to struct
members.
Teaching
Tip
Mention that the struct and class data types both use the member access
operator. Spend a few minutes discussing the history of the struct data type
and how it relates to C++ classes and object-oriented programming. Note that the
struct is a precursor to the class data type. Explain that the struct was
introduced in C to provide the ability to group heterogeneous data members
together and, for the purposes of this chapter, is used in that manner as well.
However, in C++, a struct has the same ability as a class to group data and
operations into one data type. In fact, a struct in C++ is interchangeable with
a class, with a couple of exceptions. By default, access to a struct from
outside the struct is public, whereas access to a class from outside the
class is private by default. The importance of this will be discussed later in the
text. Memory management is also handled differently for structs and
classes.
Quick Quiz 1
1. True or False: A struct is typically a homogenous data structure.
2. The components of a struct are called the ____________________ of the struct.
3. A struct statement ends with a(n) ____________________.
4. True or False: A struct is typically defined before the definitions of all the functions
in a program.
Assignment
page-pf4
C++ Programming: From Problem Analysis to Program Design, Eighth Edition 9-4
Teaching
Tip
Note how memory is handled in assignment operations involving struct
variables of the same type; namely, that the values of the members of one
struct are copied into the member variables of the other struct.
Comparison (Relational Operators)
1. Emphasize that no relational aggregate operations are allowed on structs. Instead,
comparisons must be made member-wise, similar to an array.
Teaching
Tip
Ask your students why they think assignment operations are permitted on
struct types, but not relational operations. Discuss the issue of determining
how to compare a data type that consists of other varying data types.
Input/Output
1. Note that unlike an array, aggregate input and output operations are not allowed on
structs.
Teaching
Tip
Mention that the stream and the relational operators can be overloaded to provide
the proper functionality for a struct type and, in fact, that this is a standard
technique used by C++ programmers.
struct Variables and Functions
1. Emphasize that a C++ struct may be passed as a parameter by value or by reference,
and it can also be returned from a function.
Arrays versus structs
1. Using Table 9-1, discuss the similarities and differences between structs and arrays.
Teaching
Tip
Spend a few minutes comparing the aggregate operations that are allowed on
structs and arrays. What might account for the differences? Use your previous
exposition on the history of structs and memory management to facilitate this
discussion.
page-pf5
C++ Programming: From Problem Analysis to Program Design, Eighth Edition 9-5
Arrays in structs
1. Explain how to include an array as a member of a struct.
2. Using Figure 9-5, discuss situations in which creating a struct type with an array as a
member might be useful. In particular, discuss its usefulness in applications such as the
sequential search algorithm.
Teaching
Tip
Ask your students to think of other applications in which using an array as a
member of a struct might be useful. For example, are there applications in
which parameter passing might be reduced by using struct members in
conjunction with arrays? Also, are there other data members that would be useful
to include in the listType struct presented in this section?
3. Discuss situations in which a struct should be passed by reference rather than by
value. Use the sequential search function presented in this section as an example.
structs in Arrays
2. Examine the employee record in this section as an example of using an array of
structs. Discuss the code for the struct as well as the array processing code. Use
Figure 9-7 to clarify the code.
Teaching
Tip
Emphasize that using a structured data type, such as a struct or class, as the
element type of an array is a common technique. Using the vector class as an
example, reiterate that object-oriented languages typically have containers such
as list or array types that in turn store objects of any type.
structs within a struct
1. Discuss how structs can be nested within other structs as a means of organizing
related data.
3. Encourage your students to step through the “Sales Data Analysis” Programming
page-pf6
C++ Programming: From Problem Analysis to Program Design, Eighth Edition 9-6
Quick Quiz 2
1. What types of aggregate operations are allowed on structs?
2. Can struct variables be passed as parameters to functions? If so, how?
3. True or False: A variable of type struct may not contain another struct.
4. True or False: A variable of type struct may contain an array.
Class Discussion Topics
1. With the advent of object-oriented programming, is it ever necessary to use C-type
structs rather than classes? If so, when? What are the advantages or disadvantages of
each approach?
2. Discuss how the object-oriented concept of reusability relates to structs, structs
Additional Projects
1. Write a program that reads students’ names followed by their test scores. The program
should output each student’s name followed by the test scores and the relevant grade. It
should also find and print the lowest, highest, and average test score. Output the name
of the students having the highest test score.
2. Write a program that lists all the capitals for countries in a specific region of the world.
Use an array of structs to store this information. The struct should include the
page-pf7
C++ Programming: From Problem Analysis to Program Design, Eighth Edition 9-7
Additional Resources
2. struct (C++):
https://msdn.microsoft.com/en-us/library/64973255.aspx
Key Terms
Member access operator: the dot (.) placed between the struct and the name of one
of its members; used to access members of a struct

Trusted by Thousands of
Students

Here are what students say about us.

Copyright ©2022 All rights reserved. | CoursePaper is not sponsored or endorsed by any college or university.