овий чи файл
BOOL Error;//інформація про помилку * fName;// ім'я файлу
void Output (unsigned int cursor, int num);//текст розкладу виводить
void Save ();//збереження отриманого розкладу в файлDell ();//видалення запису * Seach (int * num);//пошук дня неделіRead ();//читання з файлаEdit (int num, int idPos);//змінити/подробнееСheck ();//перевірка на коректність та виведення на екран типу ошібкіzagruzka (para * ukaz, int i);//зчитування одного дня навчання
};
Структура, що зберігає інформацію про розклад: para {// структура інформації про занятіі_t * time;//время_t * name;//ім'я предмета_t * teacher;//преподаватель_t * room;//кабінетokno; //чи вільна пара
}; grop {// розклад групи
//щодня не більше 7ті пар
//Неділя виходнойraspicanie [6] [7]; NUM [6];//зручного видалення ліченого розкладу
};
Основні поля структур мають текстовий формат. Для вирішення проблеми організації даних був обраний статичний масив покажчиків.
Обрана структура проста і відповідають всім потребам програми.
Кількість днів занять і кількість занять на день обмежене розмірами масиву. Структура інформації про заняття динамічна, що дозволяє економити пам'ять.
Нижче на малюнку 2 представлена ??схема даних.
Рисунок 2 - Схема даних.
3. Опис розробки програми
Для написання даної програми буде використаний мова програмування Сі. Ця мова є поширеним мовою програмування. При розробці мови Сі був прийнятий компроміс між низьким рівнем мови асемблера і високим рівнем інших мов. У мові Сі передбачено багато операцій, безпосередньо виконуваних більшістю мікропроцесорів; в той же час він дає програмісту можливість висловлювати свої алгоритми і дані найбільш підходящими засобами. Мова Сі забезпечує можливості структурування даних. Він дозволяє розробляти великі, але структуровані програми, надаючи можливість окремої розробки підпрограм.
Метою творців мови Сі була розробка мобільного мови, який можна було б використовувати для розробки системного програмного забезпечення. Програми, написані на мові високого рівня, мобільні, оскільки мова має бути одним і тим же незалежно від того, на якому комп'ютері і в якій операційній системі він використовується. Додаткове властивість мови Сі, зване умовної компіляцією, дозволяє програмісту ізолювати машинно-залежні оператори і контролювати їх компіляцію в іншому середовищі. Це додатково підвищує мобільність програмного забезпечення, написаного на мові Сі.
В якості середовища програмування був обраний програмний продукт Visual Studio 2005.
Розробка програми почалася з реалізації набору функцій, необхідних для роботи з файлами баз даних. Для збереження файлів були задіяна функція Save (). Для читання з файлів використовується функції Read () і zagruzka (para * ukaz, int i). Додавання елементів і їх редагування здійснюється за допомогою функції void Editing (int num, int idPos). Пошук виконує функція Seach (int * num). Видалення розпису проводиться функцією Dell (word * ukaz). Для реалізації псевдографічний інтерфейсу була вивчена бібліотека Barfic.lib. Бібліотека містить всі необхідні функції для ініціалізації консолі, відображення меню, виведення вікон, введення текстової інформації з клавіатури, отримання подій клавіатури і миші, переміщення курсора, малювання символів і ліній.
Основна програма schedule.exe виконаються функцією main. У функції main здійснюється перехід до допоміжних функцій, які реалізують меню додавання, редагування, пошуку та інші. Був розроблений алгоритм функції main. Блок-схема функції представлена ??на малюнку 3. Функція відповідає за ініціалізацію консолі, за виведення заставки-вітання і за передачу управління у функції обробки меню. Цикл обробки подій головного вікна забезпечує активізацію меню і вихід з нього. Після виходу з функції обробки меню функція обробки подій головного вікна отримує ідентифікатор обраного пункту меню. Залежно від ідентифікатора функція викликає функцію обробки обраного пункту меню.
Блок схема функції main () і функції обробки подій головного вікна представлена ??на малюнку 3. Основним завданням даної функції є отримання події від клавіатури або миші, якщо подія присутній, то викликається функція обробки цієї події. Якщо події немає, то програма засинає на 20 мілісекунд, після чого знову отримує подія від клавіатури і миші, і так поки не виберуть пункт меню «Вихід».
Рисунок 3 - Схема програми.
При запуску програми виводиться екран заставка, слідом головне меню. Нав...