Зміст
Введення
1. Постановка завдання
. Аналіз розв'язуваної задачі
. Дослідження існуючих методів організації динамічних структур даних
. Визначення шляхів і методів рішення задачі
4.1Построеніе мультіспіскових структур
4.2Методи реалізації мультіспіскових структур використовуючи особливості мови C ++
5. Проектування інформаційно-довідкової системи
5.1 Розробка структури даних
.2 Проектування фізичної структури
.3 Фізична структура даних для збереження у файл
.4 Розробка типів даних
.5 Розробка алгоритмів та реалізація основних функцій
5.5.1 Алгоритм ініціалізації масиву
.5.2 Алгоритм розширення масиву
.5.3 Алгоритм вставки нового елемента в масив
.5.4 Алгоритм видалення елемента
5.6 Основні файли програми
.7 Розробка інтерфейсу користувача
Висновки
Перелік джерел
Програми
Введення
Інформаційно-довідкова система (надалі - ІСС) розробляється відповідно до завдання варіанта дипломної роботи. Основною метою даної роботи є реалізація мультіспіска в динамічної пам'яті, використовуючи масив покажчиків на невизначений тип.
У всіх сучасних програмах широко використовуються динамічні структури даних - черги, стеки, дерева. З курсу програмування відомо, що всі ці структури реалізуються через списки. Широке застосування списків і мультіспісков є типовим прийомом підвищення продуктивності, а вивчення методів їх програмування і обробки є актуальним. Отримані при цьому знання та вміння можна віднести до базових, які знайдуть застосування при вивченні майбутніх дисциплін, пов'язаних з програмуванням і базами даних.
Розроблена система дозволяє повністю реалізувати поставлені перед нею завдання. ІСС оснащена рядом діалогових форм вводу-виводу, які полегшують додавання та редагування інформації. Проект дозволяє управляти подібної мультіспісковой структурою.
Програма має стандартний графічний інтерфейс Windows, проста в освоєнні і експлуатації. При створенні програми, була використана середу розробки QT Creator 5.3.2 і мова програмування C ++.
1. Постановка завдання
Завданням даного дипломного проекту є розробка мульти-списковому структури відповідно до приводиться нижче завданням.
Територія міста розбита на окремі райони. Кожен район обслуговується відповідними ЖЕК. Такий ЖЕК містить інформацію про перелік обслуговуваних вулиць з номерами будинків; по кожному будинку відомий список квартир та їх характеристики; по кожній квартирі - список мешканців з їх атрибутами.
По кожному з цих об'єктів зберігається наступна інформація:
. РАЙОН: назва району, номер жека, площа
ВУЛИЦЯ: назва вулиці, її вік;
ДІМ: номер, площа;
КВАРТИРА: номер квартири, кількість кімнат;
ЖИТЕЛЬ: ПІБ жителя, вік.
Реалізувати мультіспісковую структуру, яка забезпечує зберігання інформації і дозволяє здійснити:
- Введення, заміну або видалення відомостей про район, вулиці, будинку і т.д .;
- По імені жителя міста пошук його координат (можливі дублікати);
- Висновок найменувань всіх вулиць міста в алфавітному порядку.
Мультіспісковую структуру необхідно реалізувати з використанням динамічних структур даних в купі (оперативної пам'яті).
Взаємодія з користувачем ІСС організувати за допомогою системи меню та структурованих форм введення.
2. Аналіз розв'язуваної задачі
Основне завдання проекту полягає в реалізації інформаційно-довідкової системи, яка повинна забезпечити над мультіспіской структурою такі операції як: додавання, видалення елементів усіх рівнів ієрархії, збереження/завантаження мультіспіска з файлу.
Для вирішення даної задачі необхідно організувати таку структуру даних, яка могла б працювати з заздалегідь невідомою кількістю елементів. Для заданой структури доцільно її розмістити в оперативній пам'яті. У порівнянні з файлом така реалізація буде перевершувати за швидкістю обробки, так як динамічна пам'ять дозволяє здійснювати доступ істотно швидше, у порівнянні з жорстким диском. Єдиною проблемою використання даного рішення, полягає в тому що, не є можливості збереження інформації та її повторного використання. Тому дану структуру також необхідно зберігати у файл, і відновлювати з нього.
При реалізації інформаційно-довідкової системи на базі масиву покажчиків на не...