
Що таке структура (struct)?
Структура (struct) в С++ практичні індивідуальні заняття з програмування
1. Що таке структура (struct
)?
📌 Структура (struct
) — це спеціальний тип даних, який дозволяє об’єднати кілька змінних різних типів в один об’єкт.
Навіщо потрібні структури?
- Зручно групувати дані (наприклад, інформацію про студента: ім’я, вік, середній бал).
- Легше працювати з великими об’єктами (наприклад, даними про автомобіль або гравця в грі).
2. Оголошення структури
🔹 Синтаксис:
struct Назва_структури {
тип змінна1;
тип змінна2;
...
};
📌 Приклад: Створимо структуру для зберігання даних про студента:
#include <iostream>
using namespace std;
// Оголошуємо структуру Student
struct Student {
string name;
int age;
double averageGrade;
};
int main() {
// Створюємо змінну типу Student
Student student1 = {"Андрій", 16, 9.5};
// Виводимо дані
cout << "Ім'я: " << student1.name << endl;
cout << "Вік: " << student1.age << endl;
cout << "Середній бал: " << student1.averageGrade << endl;
return 0;
}
✅ Результат:
Ім'я: Андрій
Вік: 16
Середній бал: 9.5
📌 Що тут відбувається?
- Ми створили структуру
Student
, яка має три поля:name
(рядок),age
(ціле число),averageGrade
(число з плаваючою комою). - Оголосили змінну
student1
і записали в неї дані. - Вивели значення кожного поля на екран.
3. Доступ до полів структури
Якщо у нас є структура, ми можемо отримати доступ до її полів через оператор .
(крапка).
cout << "Ім'я студента: " << student1.name << endl;
student1.age = 17; // Змінюємо значення
4. Введення даних у структуру
Якщо ми хочемо, щоб користувач ввів дані вручну, можемо зробити це через cin
:
#include <iostream>
using namespace std;
struct Student {
string name;
int age;
double averageGrade;
};
int main() {
Student student1;
// Введення даних
cout << "Введіть ім'я студента: ";
cin >> student1.name;
cout << "Введіть вік студента: ";
cin >> student1.age;
cout << "Введіть середній бал студента: ";
cin >> student1.averageGrade;
// Виведення даних
cout << "Ім'я: " << student1.name << ", Вік: " << student1.age << ", Середній бал: " << student1.averageGrade << endl;
return 0;
}
✅ Приклад введення:
Введіть ім'я студента: Олег
Введіть вік студента: 15
Введіть середній бал студента: 8.7
✅ Результат:
Ім'я: Олег, Вік: 15, Середній бал: 8.7
📌 Зверни увагу! Якщо ти використовуєш cin >> name;
, програма зчитує тільки одне слово. Якщо потрібно ввести повне ім’я, використовуй getline(cin, student1.name);
.
5. Масив структур
Якщо потрібно зберігати дані для кількох студентів, можна використовувати масив структур:
#include <iostream>
using namespace std;
struct Student {
string name;
int age;
double averageGrade;
};
int main() {
Student students[3]; // Масив із 3 студентів
// Введення даних
for (int i = 0; i < 3; i++) {
cout << "Введіть ім'я студента " << i + 1 << ": ";
cin >> students[i].name;
cout << "Введіть вік: ";
cin >> students[i].age;
cout << "Введіть середній бал: ";
cin >> students[i].averageGrade;
}
// Виведення даних
cout << "\nСписок студентів:\n";
for (int i = 0; i < 3; i++) {
cout << students[i].name << " - " << students[i].age << " років, середній бал: " << students[i].averageGrade << endl;
}
return 0;
}
✅ Програма запитає інформацію про 3 студентів і виведе її.
6. Структура як аргумент функції
Структуру можна передавати у функції, щоб працювати з даними.
#include <iostream>
using namespace std;
struct Student {
string name;
int age;
double averageGrade;
};
// Функція для виведення інформації про студента
void printStudent(Student s) {
cout << "Ім'я: " << s.name << ", Вік: " << s.age << ", Середній бал: " << s.averageGrade << endl;
}
int main() {
Student student1 = {"Марія", 17, 9.8};
printStudent(student1); // Виклик функції
return 0;
}
✅ Результат:
Ім'я: Марія, Вік: 17, Середній бал: 9.8
📌 Функція printStudent()
приймає структуру Student
і виводить її поля.
7. Практичні завдання
Завдання 1:
Створи програму, яка зберігає дані про автомобіль (марка, рік випуску, ціна) та виводить їх на екран.
Завдання 2:
Напиши програму, яка приймає від користувача інформацію про 5 товарів (назва, ціна, кількість) і виводить список товарів.
Завдання 3:
Розроби програму, яка запитує у користувача 3 книги (назва, автор, рік видання) та показує список книг.
📝 Підсумок уроку
✅ Структура (struct
) дозволяє зберігати дані різних типів в одному об’єкті.
✅ Поля структури доступні через .
(крапку).
✅ Структури можна використовувати в масивах та передавати у функції.
🚀 Наступний урок: Робота з файлами у C++. Структура (struct) в С++ практичні індивідуальні заняття з програмування