You are on page 1of 6

Комп’ютерний практикум № 5

Робота зі структурами та функціями

Мета роботи:
o Вивчити методику створення та роботи зі структурами даних в С++
o Реалізувати БД на базі масиву структур
o Робота з функціями (створення, виклик, опис параметрів тощо)
o Створити власні програми за завданням

Хід роботи:

Приклад:
Описати структуру з іменем Student, яка містить наступні поля:
➢ прізвище
➢ номер групи
➢ успішність / масив із п’яти елементів
Вивести на дисплей даних про студентів, середній бал успішності у яких більше
за 4.0 (якщо таких студентів немає, - виводиться відповідне повідомлення).
Код програми

#include <iostream>
#include<iomanip>
#include <cstdlib>

using namespace std;

int main()
{
struct STUDENT { char name[30]; int group; double marks[5]; };
struct STUDENT A[3];
int i, j, posr; short index = 0;
double mark;
for (i = 0; i < 3; i++)
{
cout << "\nVvedit' im'ya studenta " << i + 1 << endl;
cin >> A[i].name;
cout << "Vvedit' nomer grupy studenta " << i + 1 << endl;
cin >> A[i].group;
cout << "Vvedit' pochergovo 5 ocinok studenta" << i + 1 << endl;
cin >> A[i].marks[0] >> A[i].marks[1] >> A[i].marks[2] >>
A[i].marks[3] >> A[i].marks[4];

j = 0;
for (i = 0; i < 3; i++) {
mark = (A[i].marks[0] + A[i].marks[1] + A[i].marks[2] +
A[i].marks[3] + A[i].marks[4]) / 5;
if (mark >= 4.0)
{
cout << A[i].name << " " << A[i].group << " " << fixed <<
showpoint << setprecision(2) << mark << endl;
j += 1;
}
}
if (j == 0) cout << "Studentiv z serednim ballom vysche 4 nemae" << endl;
system("PAUSE");
}
Фрагмент виконання коду…

Коментарі щодо форматованого виводу дійсних чисел

Cout можна настроїти, використовуючи спеціальні маніпулятори.


Маніпулятори - це спеціальні об'єкти, які можна закидати в потокову змінну
(таку як cout), при цьому вони міняють майбутню поведінку cout.
Наприклад:

Результат буде:

Тут ми в cout використовуємо одночасно 4 маніпулятори (fixed, setw,


setprecision, setfill), перш ніж надрукувати число.
• Маніпулятор fixed каже: відтепер і надалі числа з плаваючою точкою
друкувати у звичній людині форматі «Ціла частина; десяткова точка; дрібна
частина», наприклад: 10000.12. При цьому він поводитиметься розумно, і
дробову частину не друкуватиме, якщо її немає.
• Маніпулятор setw (від set width — встановити ширину) встановлює, скільки
знаків займе наступне надруковане число або значення. Наприклад, число
займе щонайменше 11 символів, недостатні будуть доповнені пробілами. При
цьому прогалини додаються ліворуч, так що число займе крайні праві позиції
з 11 символів, що відведені йому.
• Маніпулятор setprecision вказує, скільки знаків після десяткової коми у float
ми хочемо гарантовано бачити. Наприклад, якби ми друкували кількість
грошей, логічно було б запросити не менше 2 знаків після коми (для
відображення копійок).
• Setfill маніпулятор встановлює символ для заповнення порожнього простору
і працює в комбінації з setw. Зазвичай, setw заповнює невикористані символи
пробілами; Але це можна змінити за допомогою setfill. У прикладі говоримо
комп'ютеру: заповнюй порожній простір не пробілами, а нулями.

Індивідуальні завдання
* Всі дії над даними структури описати як окремі функції
** БД – є одновимірний масив типу структура з мінімум 5 елементами

1. Описати структуру з іменем Aeroflot, яка містить наступні поля:


➢ назва пункту призначення рейсу;
➢ номер рейса;
➢ тип літака.
Написати програму роботи з даною структурою. Програма містить функції,
які реалізують:
- ввід даних з клавіатури;
- впорядкування записів за зростанням номерів рейсів і вивід даних на
дисплей;
- вивід на дисплей даних про літаки, які прямують до заданого пункту
призначення (якщо таких немає, - виводиться відповідне
повідомлення).
2. Описати структуру з іменем Worker, яка містить наступні поля:
➢ прізвище та ініціали працівника;
➢ посада, яку він займає;
➢ рік, з якого працює.
Написати програму роботи з даною структурою. Програма містить функції,
які реалізують:
- ввід даних з клавіатури;
- впорядкування записів за алфавітом і вивід даних на дисплей;
- вивід на дисплей даних про працівників, стаж роботи яких в організації
перевищує задане (з клавіатури) значення (якщо таких немає, -
виводиться відповідне повідомлення).
3. Описати структуру з іменем Train, яка містить наступні поля:
➢ назва пункту призначення;
➢ номер потягу;
➢ час відправлення.
Написати програму роботи з даною структурою. Програма містить функції,
які реалізують:
- ввід даних з клавіатури;
- впорядкування записів за алфавітом по назвах пунктів призначення і
вивід даних на дисплей;
- вивід на дисплей даних про потяги, які відправляються в заданий (з
клавіатури) час (якщо таких немає, - виводиться відповідне
повідомлення).
4. Описати структуру з іменем Marsh, яка містить наступні поля:
➢ назва початкового пункту маршруту;
➢ назва кінцевого пункту маршруту;
➢ номер маршруту.
Написати програму роботи з даною структурою. Програма містить функції,
які реалізують:
- ввід даних з клавіатури;
- впорядкування записів за номерами маршрутів і вивід даних на
дисплей;
- вивід на дисплей інформацію про заданий (з клавіатури) маршрут (якщо
такого маршруту немає, - виводиться відповідне повідомлення).
5. Описати структуру з іменем Note, яка містить наступні поля:
➢ прізвище та ім’я;
➢ номер телефону;
➢ дата народження (масив із трьох чисел).
Написати програму роботи з даною структурою. Програма містить функції,
які реалізують:
- ввід даних з клавіатури;
- впорядкування записів за алфавітом і вивід даних на дисплей;
- вивід на дисплей даних про людей, які народились в заданому (з
клавіатури) місяці (якщо таких немає, - виводиться відповідне
повідомлення).
6. Описати структуру з іменем Znak, яка містить наступні поля:
➢ прізвище та ім’я;
➢ знак Зодіаку;
➢ дата народження (масив із трьох чисел).
Написати програму роботи з даною структурою. Програма містить функції,
які реалізують:
- ввід даних з клавіатури;
- впорядкування записів за алфавітом і вивід даних на дисплей;
- вивід на дисплей даних про людей, які народились в заданому (з
клавіатури) місяці (якщо таких немає, - виводиться відповідне
повідомлення).
7. Описати структуру з іменем Price, яка містить наступні поля:
➢ назва товару;
➢ назва магазину, в якому продається товар;
➢ вартість товару в гривнах.
Написати програму роботи з даною структурою. Програма містить функції,
які реалізують:
- ввід даних з клавіатури;
- впорядкування даних в алфавітному порядку за назвами товарів і вивід
даних на дисплей;
- вивід на дисплей інформацію про товар за заданою (з клавіатури)
назвою (якщо такого товару немає, - виводиться відповідне
повідомлення).

You might also like