Опис програми
Весь проект є розбито на 4 файли, кожен з яких виконує свою функцію. Три з них містять в собі класи, які описують певній об’єкт. Перший та найпростіший клас TDate – для опису дати створення рахунку. Містить поля для збереження дня, місяця та року. Також клас містить один конструктор.
Наступний клас описує клієнта(Client). Він наслідується від класу дата, оскільки кожен клієнт прийшов до банку у певний день місяця. Також у нього є наступні поля:
-
Ім’я
-
Прізвище
-
Номер рахунку
-
Сума вкладу
Клас також містить один конструктор для початкової ініціалізації.
Клас Bank, клас який зберігає всіх клієнтів банку. Має лише одна поле – контейнер вектор. У цьому класі знаходиться 6 функцій:
-
AddClient - зчитування даних про нового клієнта з консолі
-
AddClient(Client cl) - додавання існуючого клієнта
-
PrintClients - виведення інформації про всіх клієнтів банку
-
PrintClient - виведення інформації одного клієнта
-
SaveToFile - збереження даних про клієнтів у бінарний файл
-
LoadFromFile - зчитування даних про клієнтів з файлу
Наступний клас – BinaryTree. Клас який описує бінарне дерево. У ньому міститься клас Node, який описує кожен вузол дерева, тобто містить дані, ключ, ссилку на правий та лівий елемент.
Клас містить лише одна поле root, що являється коренем дерева. Він містить два конструктори : пустий і той, що приймає список клієнтів та записує їх в дерево. Також містить дві функції : для додавання та пошуку елемента. Обидві функції є перегруженими, і функції з доступом public реально викликають функцію, яка недоступна зовні, з одним додатковим параметром – вузол в якому буде відбуватися пошук. Ті функції є рекурсивними. В головному файлі міститься оголошення банку та бінарного дерева та набір функцій які забезпечують меню користувача та викликають відповідні функції класів.
Інструкція користувачу
При запуску програми ми побачимо повідомлення (Рис. 1), яке запитує як саме необхідно ввести дані про клієнтів банку: з консолі або з файлу.

Рис. 1
Нажавши відповідну клавішу 1 чи 2 ми перейдемо до наступного меню.
При введенні даних з клавіатури ми побачимо меню, як на рисунку 2. Ввівши букву Y(Yes), необхідно ввести дані про клієнта.

Рис. 2
Після закінчення введення даних, їх можна зберегти до файлу. Наступним кроком є пошук клієнтів банку за введеною інформацією про номер рахунку(Рис. 3).

Рис.3
Якщо такого клієнта не існує, то буде виведено відповідне повідомлення. Після пошуку можна зберегти знайдену інформацію до файлу.
При виборі зчитування інформації з файлу, буде виведено уся інформацію у файлі на екран та запропоновано пошук клієнтів(Рис. 4).

Рис. 4
Після пошуку та збереження результатів у файл програма завершує свою роботу.
Контрольний приклад



Висновок
В результаті виконання розрахункової роботи було розроблену програму для роботи з клієнтами банку. Код програми розподілено окремі частини, кожен з яких виконує свою функцію. Для пошуку клієнтів банку було використано бінарне дерево, яке мало дані та ключ по якому виконувався пошук. Реалізовано збереження та читання даних з бінарного файлу. Також присутню меню для користувача, що забезпечує комфортну роботу.
