Методичні вказівки до виконання практичних та лабораторних робіт з курсу «Обчислювальна техніка та програмування», страница 13

Ім’я _var_struct. Поле_i.

Таке заслання може розташуватися в будь-якому місці, де допустимі заслання на прості змінні. Наприклад:

tov1. name='’ volga'’,

tov2. price=12000;

Заслання на поле структурної змінної володіє всіма властивостями звичайних змінних. Наприклад, якщо поле це масив символів (char name [10];), те tov1. name - покажчик- константа на перший елемент цього масиву, а вираз &tov1. price - є взяття адреси першого байта поля price. Немає, також, відзнак в правилах видимості і часу існування від звичайних змінних.

В тому випадку, коли в функції визначена лише одна структура, то допустимо використання опису без вказівки імені.

Наприклад:

struct{ char name [10];

long int price;} tov1;.

ОПЕРАТОР ПОКАЖЧИКА НА СТРУКТУРУ. С++ в доповнення до оператора«.», що використається для доступу до членів структури, підтримує оператор покажчика на структуру «->» для звернення до членів структури. Оператор покажчика на структуру друкується на клавіатурі як поєднання знаків «мінус та більше».

Якщо визначений покажчик на структуру, то доступ до елементів структури можна забезпечити двома засобами:

Класичним - використовуючи оператор разіменовання

(*указник_на_структуру). Ім’я_члена;

Використовуючи оператор покажчика на структуру

Покажчик_на_структуру-> ім’я_члена;

Наприклад,

# include <iostream. h>

# include <stdio. h>

# define n 2

void main ()

{struct stud

{char fam[20];

char gr[7];}std[n],*p=&std[0];

int i;

char m[7];

for(i=0;i<n;i++,p++)

{cout<<"\n"<<'введіть прізвище\n";

 cin>>((*p).fam);          //gets((*p).fam);

cout<<"\n"<<"введіть місяць народження\n";

 cin>>(*p).gr;               //gets((*p).gr);

 cout<<"\n"<<((*p).fam)<<" "<<((*p).gr);}

p-=n;

cout<<"\n"<<"введіть місяць\n";

cin>>m;

//gets (m);

cout<<"\n"<<(m)<<" "<<(*p).gr<<"\n";

for(i=0;i<n;i++,p++)

{if(strcmp(((*p).gr),m)==0)

 cout<<(*p).fam<<"\n"

else

 cout<<"нема введеного місяця\n ";}

}

3.3 Варіанти індивідуальних завдань лабораторної роботи №3.

1.   Ввести в ЕОМ інформацію про співробітника відділу: прізвище, ім'я, вік. Розпечатати імена співробітників вік яких перевищує 33 роки.

2.   Ввести в ЕОМ інформацію про номенклатуру товарів що продаються в кіосках інституту. Визначити кіоски, що містять необхідні товари.

3.   Сформувати список співробітників відділу: прізвище, ім'я, місяць народження. Розпечатати імена співробітників які народилися в задані місяці.

4.   Сформувати список про перездачі заборгованостей студентів: ПІБ., предмет, кількість перездач. Розпечатати список за заданим ознакою (наприклад, кількості перездач) і видати його на екран дисплею.

5.   Сформувати список, в якому зберігається інформація про предмети, вилучених на митниці за звітний період: дата вилучення, найменування предмету, кількість одиниць, вартість. Визначити кількість одиниць заданого типу предмету.

6.   Сформувати відомість про фінансову діяльність підприємств за минулий рік найменування підприємства, місяць, прибуток підприємства за цей місяць, нарахування на зарплату, зиск підприємства. Сформувати список підприємств, у яких позитивне відхилення від середньомісячного прибутку перевищує 50%.

7.   Сформувати відомість, в якій зберігаються результати сесії групи. Написати програму корегування оцінок, у студентів, які перездали сесію.