Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_3.doc
Скачиваний:
6
Добавлен:
16.11.2019
Размер:
114.18 Кб
Скачать

Лабораторна робота № 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();

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]