«Розробка програми для розрахунку вантажу пароплава»


Практична частина роботи Постановка завдання для практичної роботи



бет6/7
Дата29.11.2022
өлшемі1.51 Mb.
#465961
1   2   3   4   5   6   7
Звіт з курсової роботи (Міцай Руслан)90.100

Практична частина роботи

  1. Постановка завдання для практичної роботи


При записку програми виводиться повідомлення, що програма розпочала роботу, а поточний список кораблів пустий. Ми можемо самі додати новий корабель в ручну, а можемо заповнити наш список за допомогою файлу in.txt. Коли наш список заповнений, ми можемо обрати функцію виводу чи видалення перевантаженого корабля(на ньому пасажирів більше ніж дозволяє його тонажність). Також, якщо ми додали чи видалили якийсь елемент списку ми можемо записати до файлу нову інформацію. Максимально може бути записано до списку тільки 10 перевантажених кораблів. Перед початком роботи з програмою я мав продумати де будуть зберігатися дані, для цього я обрав файл формату txt, та записав туди певні дані, туди ввійшли кораблі як і з явним перевантаженням так і без нього. Також це було потрібно для того, щоб моя програма main.cpp могла відразу працювати з файлом, і тому я додав її до каталогу файлів які використовує програма для створення списків.

Малюнок 1.1 Створення файлу формату txt
Далі було створено константне значення середньої ваги пасажира та клас Paroplav, від якого нащадки отримували параметри Назви корабля, його тоннаж та компанію, якій належить корабель

Малюнок 1.2 Клас Paroplav та його конструктори
Також я визначив декілька корисних функцій (Так звані гетери та сетери які присвоюють значення та повертають їх користувачеві)

Малюнок 1.3 Гетери та сетери програми, а також деструктор
Наступним кроком я створив клас-нащадок класу Paroplav – Passajir який також мав свої конструктори та деструктор, а також гетери та сетери. Він також вираховував вагу бажаючих пасажирів

Малюнок 1.4 Клас Passajir та його елементи
Від класу Passajir я створив клас-нащадок Way, в якому також створив гетери та сетери, конструктори та деструктор, а також додав 2 корисні нам функції, а сама Print та overweight, перша фунція виводила нам всі переванта-жені пароплави, а друга обраховувала нам який корабель перевантажений, а також додав 2 функції перевантаження до запису та виведення інформації з файлу

Малюнок 1.5 функції класу Way а також функція overweight.

Малюнок 1.6 функція Print та дружні до класу Way функції переванта-ження з/до файлу
Наступним кроком я створив файл нащадок класу Way - клас File, цей клас був створений для запису туди функцій роботи з іншими класами, фай-лом та списком. Також першим ділом я створив функцію для сортування списку за алфавітом за назвою Корабля, ця функція дуже корисна в моїй програмі, адже це зручно, коли ти можеш швидко знаходити інформацію у структурованому списку.

Рисунок 1.7 Клас File, його змінні та функція сортування даних за алфавітом
Наступним кроком я створи декілька класів, для формування параметрів списку та її перевірки, а також деструктор який звільняв пам’ять програми.


Малюнок 1.8 Функції формування параметрів списку та їх перевірки а також деструктор на очищення.
Важливою частиною програми було створення функції додавання до списку, з якою я успішно впорався, що ви й можете побачити на Малюнку 1.9, а також я створив функцію видалення інформації зі списку за номером у списку.

Малюнок 1.9 функція додавання до списку інформації та її видалення
Також, важливою річчю було створення функції читання інформації з файлу та запис її до списку, також я додав відразу виклик функцій сортування та виведення даних для більшої зручності

Малюнок 1.10 функція зчитування інформації з файлу
А так як ми почали працювати з файлом, потрібно було додати функції видалення з файлу, адже дані постійно оновлюються, тому важливо видаляти все не потрібне, так і була створена функція Zapicb. Після чого я створив функцію PrintFinal для виведення списку всіх перевантажених кораблів
Малюнок 1.11 – Функція видалення з файлу так функція виведення списку
Також потрібно було розписати наші функції читання та запису інформації до файлу, які були оголошені раніше.

Малюнок 1.12 функції запису та читання інформації з файлу
І ось ми перейшли до робочої частини програми, звідки користувач і може контролювати всі процеси



Малюнок 1.13-1.15 головна функція програми, а також меню користу-вача для контролювання процесів програми
А тепер можна розпочати й тестування програми
Початковий файл програми містить наступну інформацію

1.16 – початковий файл програми
Запускаємо програму

Малюнок 1.17 – читання інформації з файлу, формування на її основі черги, та виведення її на екран
Використання функції видалення

Малюнок 1.18 Використання функції видалення
Використаємо функцію додавання


Малюнок 1.19-1.20 додавання елементу до списку та вивід інформації
Виконаємо запис до файлу та завершимо роботу програми

Малюнок 1.21 Запис списку до файлу та завершення роботи програми
Фінальний вигляд файлу

Малюнок 1.22 Запис до файлу – фінальна версія файлу




Достарыңызбен бөлісу:
1   2   3   4   5   6   7




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет