доступні функції редагування даних маршрутів. Він може переглядати інформацію про рух автобусів і про зупинки, через які проходять маршрути, а також про час прибуття і відправлення автобусів на ці зупинки. p align="justify"> Всі дані, пов'язані із запитами, маршрутами та робочими змінами зберігаються в двійкових файлах "Запити. bin "," Зміни. bin "і" Маршрути. bin ". Робота з файлами здійснюється через бібліотеку stdio. h. Для читання/запису використовуються стандартні функції fread і fwrite. p align="justify"> При зчитуванні даних з файлів і роботи з даними в програмі дані зберігаються у векторах структур бібліотеки STL, що забезпечило прямий доступ до будь-якій структурі у разі редагування або видалення даних.
Для відображення вікон використовуються класи, успадковані від класу CDialog. При цьому методи OnInitDialog для початкової ініціалізації змінних класу і OnClose для опису процесу закриття вікон, були перевизначені для вікон Адміністратора, Оператора, Гостя, а також для вікон редагування інформації про маршрути та змінах. p align="justify"> Після аутентифікації, залежно від введених логіна і пароля, викликається метод DoModal вікна Адміністратор, Оператор або Гість для модального відображення відповідного вікна.
Якщо користувачем є Адміністратор, викликається метод вікна Адміністратора DoModal, після чого в методі OnInitDialog проводиться читання запитів з файлу "Запити. bin "у вектор функцією fread. Також в методі OnInitDialog виробляється ініціалізація елемента управління класу List Control для виведення інформації з вектора запитів у вигляді таблиці. Потім у виведеному вікні виводяться List Control з даними запитів, а також три елементи управління Button для додавання, редагування і видалення запитів. p align="justify"> При натисканні кнопки "Додати" викликається метод DoModal класу, успадкованого від класу CDialog для відображення вікна з ЕЛЕНТ управління Edit Control, щоб мати можливість вводити дані для запиту. Після введення даних у поля і натиснення кнопки "OK" дані зберігаються в нову структуру запиту, а потім ця структура вставляється в кінець вектора методом push_back, після чого слід видалення попередніх елементів List Control і вставка інформації з уже оновленого вектора запитів.
При натисканні кнопки "Редагувати" і якщо при цьому не був обраний ні один елемент List Control, функцією MessageBox виводиться вікно-повідомлення з проханням вибрати елемент для редагування. Якщо елемент був обраний, то номер рядка використовується як індекс вектора і за цим номером знаходиться потрібна структура в векторі. Після чого викликається метод DoModal класу, успадкованого від класу CDialog для відображення вікна з елементами управління Edit Control, в яких вже буде знаходиться інформація знайденої структури. Після того як інформація була відредагована і натиснута кнопка "OK", редагована структура у векторі знаходиться за допомогою ітератора і відд...