C++ Programming From Problem Analysis to Program Design 8th Edition Malik Solutions Manualinstant download
C++ Programming From Problem Analysis to Program Design 8th Edition Malik Solutions Manualinstant download
https://testbankdeal.com/product/c-programming-from-problem-
analysis-to-program-design-8th-edition-malik-solutions-manual/
https://testbankdeal.com/product/c-programming-from-problem-analysis-
to-program-design-8th-edition-malik-test-bank/
https://testbankdeal.com/product/c-programming-from-problem-analysis-
to-program-design-7th-edition-malik-solutions-manual/
https://testbankdeal.com/product/c-programming-from-problem-analysis-
to-program-design-6th-edition-malik-solutions-manual/
https://testbankdeal.com/product/accounting-for-decision-making-and-
control-7th-edition-zimmerman-test-bank/
https://testbankdeal.com/product/intermediate-algebra-for-college-
students-9th-edition-angel-solutions-manual/
https://testbankdeal.com/product/basic-business-statistics-12th-
edition-berenson-test-bank/
https://testbankdeal.com/product/macroeconomics-canadian-5th-edition-
mankiw-solutions-manual/
https://testbankdeal.com/product/fundamentals-of-
taxation-2017-edition-10th-edition-cruz-solutions-manual/
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
• Objectives
• Teaching Tips
• Quick Quizzes
• Additional Projects
• Additional Resources
• Key Terms
© 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
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
structs, perform operations on structs, and manipulate data using a struct.
Next, they will examine the relationship between structs and functions and learn
how to use structs as arguments to functions. Finally, students will explore ways to
create and use an array of structs in an application.
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.
Discuss how previous programming examples and projects that used parallel
Teaching
arrays or vectors might be simplified by using a struct to hold related
Tip
information.
3. Using the examples in this section, explain how to define a struct type and then
declare variables of that type.
© 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Eighth Edition 9-3
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.
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.
Teaching However, in C++, a struct has the same ability as a class to group data and
Tip
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.
Answer: False
4. True or False: A struct is typically defined before the definitions of all the functions
in a program.
Answer: True
Assignment
1. Explain that the values of one struct variable are copied into another struct
variable of the same type using one assignment statement. Note that this is equivalent to
assigning each member variable individually.
© 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Eighth Edition 9-4
Ask your students why they think assignment operations are permitted on
Teaching
struct types, but not relational operations. Discuss the issue of determining
Tip
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.
Mention that the stream and the relational operators can be overloaded to provide
Teaching
the proper functionality for a struct type and, in fact, that this is a standard
Tip
technique used by C++ programmers.
2. Illustrate parameter passing with structs using the code snippets in this section.
1. Using Table 9-1, discuss the similarities and differences between structs and arrays.
Spend a few minutes comparing the aggregate operations that are allowed on
Teaching structs and arrays. What might account for the differences? Use your previous
Tip exposition on the history of structs and memory management to facilitate this
discussion.
© 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Eighth Edition 9-5
Arrays in structs
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.
structs in Arrays
1. Discuss how structs can be used as array elements to organize and process data
efficiently.
Emphasize that using a structured data type, such as a struct or class, as the
Teaching element type of an array is a common technique. Using the vector class as an
Tip example, reiterate that object-oriented languages typically have containers such
as list or array types that in turn store objects of any type.
1. Discuss how structs can be nested within other structs as a means of organizing
related data.
2. Using the employee record in Figure 9-8, illustrate how to reorganize a large amount of
related information with nested structs.
3. Encourage your students to step through the “Sales Data Analysis” Programming
Example at the end of the chapter to consolidate the concepts discussed in this chapter.
© 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
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?
Answer: assignment
3. True or False: A variable of type struct may not contain another struct.
Answer: False
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.
Student data should be stored in a struct variable of type studentType, which has
four components: studentFName and studentLName of type string, testScore
of type int (testScore is between 0 and 100), and grade of type char. Suppose
that the class has 20 students. Use an array of 20 components of type studentType.
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
capital, the country, the continent, and the population. You might include additional
information as well, such as the languages spoken in each capital. Output the countries
with the smallest and largest populations.
© 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Eighth Edition 9-7
Additional Resources
1. Data Structures:
http://www.cplusplus.com/doc/tutorial/structures/
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
struct: a collection of heterogeneous components in which the components are
accessed by the variable name of the struct, the member access operator, and the
variable name of the component
© 2018 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
Other documents randomly have
different content
Eurykleia, en dotter till Ops, sjelf son till Peisenor.
Henne Telemachos då tilltalade, kallad i kammarn:
Mor min, välan mig vin i handtagskrukorna påfyll,
Ljufligt, som är näst det välsmakligast, hvilket du gömmer, 350
Väntande vår olycklige drott, om nånsin han kommer,
Ädle Odysseus, hem, undsluppen Kerer och döden.
Tolf må du fylla, och samtliga väl tilltäppa med locken.
Häll sen uti välsömmade skinn derjemte mig korngryn;
Tjugu mått må du taga utaf qvarnmalade godset. 355
Sjelf du det ensam vete, och allt storståtligt bestyres.
Ty jag i afton ännu det skall afhämta, såsnart som
Modren stigit ditupp i sitt loft, ock tänker på hvila.
Ty jag till Sparta begifver mig hän, och till sandiga Pylos,
Frågande om min fars hemresa, derest jag förnimmer. 360
Tredje Sången.
Älskade, ej jag det tror, att du feg skall varda och kraftlös, 375
Om dig, ännu så ung, ledsaga gudarne sjelfve.
Ty det en annan ej var af dem som bo i Olympen,
Utan dottren af Zeus, rofgiriga Tritogeneia,
Som bland Argeierna aktade högt din modige fader.
Men, o drottning, var mild, och förläna osa ståtelig ära, 380
Först mig sjelf, och sönerna sen, och den värda gemålen!
Dig skall jag offra en qviga, som är bredpannad och ett års,
Otämd, aldrig ännu förd under oket af någon.
Henne jag offrar åt dig, sen gull kring hornen jag gjutit.
Fjerde Sången.
testbankdeal.com