- •Лабораторна робота № 3
- •Теоретична частина
- •Завдання на лабораторну роботу
- •Контрольні питання
- •Завдання на лабораторну роботу
- •Контрольні питання
- •Завдання на лабораторну роботу
- •Контрольні питання
- •Завдання на лабораторну роботу
- •Контрольні питання
- •Завдання на лабораторну роботу
- •Контрольні питання
- •Завдання на лабораторну роботу
- •Контрольні питання
- •Завдання на лабораторну роботу
- •Контрольні питання
- •Завдання на лабораторну роботу
- •Контрольні питання
- •Завдання на лабораторну роботу
- •Контрольні питання
- •Завдання на лабораторну роботу
- •Контрольні питання
- •Завдання на лабораторну роботу
- •Контрольні питання
- •Завдання на лабораторну роботу
- •Контрольні питання
Лабораторна робота № 3
Тема: Структури в С++.
Мета: отримання навичок роботи із структурами.
Теоретична частина
Тип даних "структура" об'єднує декілька змінних, можливо різного типу. Змінні, які об'єднані структурою, називаються полями структури (чи елементами структури). Розглянемо приклад опису структури :
struct student
{
char name [20];
int kurs;
char group [5];
};
Сам опис структури ще не створює в оперативній пам'яті структурних об'єктів з вказаними полями. Опис структури є "шаблоном" (типом користувача) майбутніх об'єктів з описаною структурою
Для того, щоб оголосити конкретні змінні типу struct student, необхідно або вказати список імен через коми між фігурною дужкою, що закривається, і символом ";", або записати в програмі оголошення таких змінних, наприклад:
student stud1, stud2, stud3;
Компілятор виділить пам'ять під ці конкретні змінні відповідно до вказаного опису.
Доступ до конкретного елементу структури здійснюється з використанням операції "точка". Наприклад, для друку утримуваного третього поля структурною змінною stud2 потрібно написати cout<<stud2.group;
Структури, як і змінні інших типів, можуть об'єднуватися в масиви структурних змінних. Для того, щоб оголосити такий масив, потрібно задати шаблон структури, а потім оголосити масив.
Наприклад: student studkurs[100];
Для доступу до поля kurs 15-го елементу масиву необхідно записати studkurs[14].Kurs .
Якщо оголошені дві змінні типу структури з одним шаблоном, допустима операція привласнення : stud2 = stud3;
Не можна використовувати операцію привласнення до змінних типу структури, шаблони яких описані під різними номерами, нехай навіть зовсім ідентично.
Змінні типу структури можуть бути глобальними, локальними, а також формальними. Можна створити покажчик на структуру і передавати аргумент типу структури по посиланню.
Приклад роботи із структурою
Ввести відомості про студентів учбової групи. Кожен елемент масиву студентської групи містить:
а) прізвище і ім'я;
б) підсумки складання іспиту по програмуванню.
Програма виводить інформацію про студента по його порядковому номеру в списку групи (індекс масиву, що містить введену інформацію)
Текст програми може мати вигляд:
##include <iostream.h>
##include<stdio.h>
##include <conio.h>
struct student
{
char fio[10]; // поле для Ф.И. О. студента
int est1; // поле для оцінки
} gruppa[25]; // масив для списку групи
void main(void)
{
int i, j, k, priznak;
clrscr();
cout<<"\n Формування списку до 25 чоловік";
/*------ /*------Формування списку----------*/
for (i=1;i<=25;i++)
{
cout"\n Введіть відомості про "<<i<< студента \n";
cout<<"\n Прізвище і ініціали : ";
gets(gruppa[i].fio);
cout<<"\n Введіть оценкy по програмуванню: ";
cin>>gruppa[i].est1;
}
/*--------- /*---------Перегляд списку------------*/
cout<<"\n Відомості про якого студента?\n";
cin>>j;
cout<<" \n СТУДЕНТ: ", gruppa[j].fio<<endl;
cout<<" \n ВЕСНЯНА СЕСІЯ, ОЦІНКА по ПРОГРАМУВАННЮ: ", gruppa[j].est1;
cout<<"\n РОБОТА ПРОГРАМИ ЗАВЕРШЕНА! Press any key.".;
getch();
}