725.13K
Category: informaticsinformatics

Структуры данных

1.

Структуры данных

2.

Определение
Структура - пользовательский тип данных, позволяет сгруппировать
переменные разных типов в единое целое, которому присваивается имя.

3.

Применение
Представим, что нам нужно завести
базу данных о студентах
определённого университета. У
каждого студента свои
характеристики (ФИО, дата
рождения, группа, и т. д.). В этом
случае работа с двумерным
массивом неудобна, так как
присутствуют разные типы данных.
Используя структуру, мы сможем
сгруппировать все характеристики в один
объект и создать массив из этих объектов.

4.

Состав структуры
Структура состоит из переменных (свойств), которые называются
полями, и функций, которые называются методами.
Объявление:
struct <имя структуры >
{
поля структуры;
};

5.

Элементы структуры называют полями
Поля
структур
struct Human {
int age;
};
// возраст человека
Поля могут быть переменной любого
встроенного типа, структурой, массивом
или указателем.
Поле структуры не может быть того же
типа, что и сама структура. – Защита от
самореференции. (Но указатель на саму
структуру быть может)
Чтобы обратиться к полю, необходимо
использовать знак “ -> ” для указателя и
знак “ . ” для переменной

6.

Инициализация структуры
Получение доступа к определённому полю объекта(переменной)
происходит по следующей схеме: имя_переменной.имя_поля

7.

Обращение к полю структуры через указатель
!После описания структуры ставится точка с запятой - ; !

8.

Работа с полями структуры

9.

Ввод и вывод элементов структуры

10.

Функция getline()
Для ввода строки лучше использовать функцию getline(), она считывает строку
до терминирующего нуля, т.е. всю строку целиком, включая пробелы. (Для работы подключается
библиотка string)

11.

Методы(функции) структуры
Методы производят различные операции с полями своей
структуры. Реализация метода происходит также, как и
реализация обычной функции, только внутри самой
структуры. Методы также могут быть шаблонными,
перегруженными и т. п.

12.

Пример простейшего метода
Результат работы программы

13.

Использование
структур в
функциях
• Большим преимуществом использования
структур, является возможность передать
всю структуру в функцию, которая должна
работать с её членами
• Функции также могут возвращать структуру.
v = {12, 2300000, 43.25, "Ekaterininskaia street, 78"};

14.

Структуры и функции

15.

• Одна структура может быть описана внутри
другой.
• Такие структуры называются вложенными
• Для создания экземпляра вложенной
структуры используется оператор
разрешения видимости “::”.
v = {12, 2300000, 43.25, "Ekaterininskaia street, 78"};
• Структуры, в которых содержатся
вложенные структуры, могут содержать
поля типа этой. Но эти поля должны
находится после описания вложенной
структуры.
Вложенные
Структуры

16.

17.

Поиск по элементам структуры

18.

Результат
поиска
v = {12, 2300000, 43.25, "Ekaterininskaia street, 78"};

19.

Практические задачи
1. Создать программу для подсчета дохода от показа рекламы на вебсайте. Объявите структуру Advertising, которая будет отслеживать:
сколько объявлений показано посетителям;
сколько процентов посетителей нажали на объявление;
сколько вы заработали в среднем за каждое нажатие на объявления.
Значения этих трех полей должен вводить пользователь. Для
получения дохода нужно перемножить все 3 поля.
2. Создать программу для расчета заработной платы. Структура должна
содержать поля:
ФИО работника, отработанные дни, оплата за день, премия.
Расчет производится путем умножения отработанных дней на оплату
за день + премия.

20.

1.

21.

2.
English     Русский Rules