У файловій системі каталогфайлів організований у вигляді лінійного списку. Програма повинна забезпечувати діалог за допомогою меню.
Скласти програму моделювання заданого процесу на мові Visual C ++ при виконанні наступних вимог:
Основні частини програми повинні бути оформлені у вигляді підпрограм і виділені в окремий модуль.
Передбачити введення вхідних даних з клавіатури, а також формування їх з використанням підпрограми генерації випадкових чисел.
Зміст
Введення
.Теоретіческіе відомості
.Постановка завдання
.Блок-схема
.Інструкція по роботі з програмою
.Ісходний код
Висновок
Список використаної літератури
Введення
Метою курсової роботи є закріплення і поглиблення знань, отриманих в курсі Програмування raquo ;, розвиток навичок при виборі представлення вихідних даних при написанні програм мовою C/С ++, тестуванні і налагодження програми, оформленні документації на програмну розробку.
. Теоретичні відомості
Список - структура даних, що складається з вузлів, кожен з яких містить як власні дані, так і одну або дві посилання ( зв'язки ) на наступне і/або попереднє поле. Принциповим перевагою перед масивом є структурна гнучкість: порядок елементів зв'язного списку може не збігатися з порядком розташування елементів даних в пам'яті комп'ютера, а порядок обходу списку завжди явно задається його внутрішніми зв'язками.
Лінійний зв'язний список
одинзв'язного список. У одинзв'язного списку можна пересуватися тільки в бік кінця списку. Дізнатися адресу попереднього елемента неможливо.
двусвязний список. За двусвязний списку можна пересуватися в будь-якому напрямку - як до початку, так і до кінця. У цьому списку простіше проводити видалення і перестановку елементів, тому завжди відомі адреси тих елементів списку, покажчики яких спрямовані на змінюваний елемент.
Кільцевій зв'язний список
Різновидом зв'язкових списків є кільцевої (циклічний, замкнутий) список. Він теж може бути одинзв'язного або двусвязний. Останній елемент кільцевого списку містить покажчик на перший, а перший (у разі двусвязного списку) - на останній.
Стек - структура даних з методом доступу до елементів останнім прийшов - першим вийшов raquo ;. Найчастіше принцип роботи стека порівнюють зі стопкою тарілок: щоб взяти другу зверху, потрібно взяти верхню.
Додавання елемента, зване також проштовхуванням (push), можливо тільки в вершину стека (доданий елемент стає першим зверху), виштовхування (pop) - також тільки з вершини стека, при цьому другий зверху елемент стає верхнім.
Черга - структура даних з дисципліною доступу до елементів перший прийшов - першим вийшов raquo ;. Додавання елемента можливо лише в кінець черги, вибірка - тільки з початку черги.
Дерево - це сукупність елементів, званих вузлами (при цьому один з них визначений як корінь), і відносин (батьківський-дочірній), створюючих ієрархічну структуру вузлів. Вузли можуть бути величинами будь-якого простого або структурованого типу, за винятком файлового. Вузли, які не мають жодного подальшого вузла, називаються листям.
Стандартні функції для роботи з динамічною пам'яттю
Для роботи з динамічними об'єктами в Сі є функції стандартної бібліотеки malloc і free. Для їх використання потрібно включити в програму заголовний файл lt; stdlib.h gt ;. У цьому файлі також вводиться позначення NULL для порожнього (нульового) покажчика.
void * malloc (size_t size)
malloc повертає вказівник на місце в пам'яті для об'єкта розміру size. Виділена пам'ять не ініціалізується. Якщо пам'ять відвести не вдалося, то результат роботи функції - NULL. (Тип size_t - це беззнаковий цілий тип, який визначається у файлі lt; stddef.h gt ;, результат операції < i align="justify"> sizeof має тип size_t). Як правило, узагальнений покажчик, що повертається цією функцією, явно приводиться до вказівником на тип даних. Наприклад, створити динамічну змінну типу double і привласнити значення, що повертається malloc, змінної