Объектная реализация контейнера на основе комбинированной структуры «Динамический упорядоченный список массивов-стеков»
Автор работы: Пользователь скрыл имя, 13 Декабря 2014 в 10:49, курсовая работа
Описание работы
Цель работы: получение навыков разработки объектных программ, включая создание набора собственных взаимосвязанных классов для объектной реализации специализированного контейнера. Контейнер предназначен для хранения и обработки данных некоторой информационной задачи. Контейнер представляет собой двухуровневую структуру данных, в которой уровни реализуются разными способами – один статически на базе массива (непрерывная реализация), другой – динамически с использованием адресных связей (связная реализация).
Содержание работы
Постановка задачи (цель работы, исходные данные, ожидаемый результат, требования к реализации)……………………………………………………………………………………….2 Теоретическое описание используемых структур данных с алгоритмами реализации основных операций…………………………………………………………….…………….......3 Описание основных понятий и механизмов ООП……………………………………………………………………………………………….9 Описание всех разработанных классов (объектная модель)……………………………...…11 Описание демонстрационного модуля с характеристикой использованных стандартных компонентов……………………………………………………………………………………25 Описание структуры проекта…………………………………………………………………27 Список использованной литературы…………………………………………………………47
В левой области главной
формы располагаются компоненты, с помощью
которых осуществляется ввод данных -
добавление домов в управляющую компанию,
изменение названия управляющей компании,
а также возможность удалить заданный
дом, если такой существует. В компонент Label5 выводится
название управляющей компании.
В центральной части главной
формы в компоненте CheckListBox1 отображается
список всех имеющихся домов, упорядоченный
по возрастанию их номеров. При выборе
какой-либо строки из CheckListBox1, в компоненте ListBox2 отображаются
квартиры выбранного дома, а в компоненте ListBox3 площади
(номер и площадь одной квартир выводятся
в строках с одинаковыми номерами в компонентах ListBox2 и ListBox3). В компонент
Label4 выводится номер дома, выбранного
в CheckListBox1.
В правой части
главной формы располагаются компоненты,
с помощью которых можно добавить квартиру
в заданный дом или удалить из него. В компоненте ListBox1 отображаются
все квартиры выбранного дома при удалении
или добавлении квартир.
В верхней части
формы располагается компонент MainMenu. С помощью
вкладок меню можно осуществить следующие
действия: открыть, создать, сохранить,
закрыть файл или закрыть саму программу.
Если во время работы программы над данными
производились какие-либо действия, то
при попытке осуществить какие-нибудь
действия с помощью вкладок меню появится
диалоговое окно, предоставляющее возможность
сохранить данные.
Описание структуры
проекта
Проект представляет собой
набор программных единиц – модулей. Данный
проект состоит из трёх модулей.
Один из модулей, называемый
главным, содержит инструкции, с которых
начинается выполнение программы(Unit7),
второй модуль(Unit8) –объявление всех разработанных
классов с реализацией их методов, третий
модуль(OKCANCL2) - диалоговое окно.
К главному модулю подключены
файлы из стандартной библиотеки С++: fstream, iostream
– для файлового ввода-вывода, string – для работы
с объектами библиотечного класса string. Также подключены
заголовочные файлы двух остальных модулей.
Прописаны прототипы функций для сохранения
данных на диск и обратной загрузки. Объявлены
глобальные переменные целого типа: SWITCH – служит
для переключение между различными вариантами
действий в кнопках “да” и “нет” диалогового
окна (сохранение данных), LB1и LB2 – содержат
значение номера дома, который отображают
компоненты Lisbox1 и Lisbox2, Lisbox3, необходимы
компонентов, если дом с номером LB1 и(или) LB2 удалён; CLEAR – указывает
на необходимость очистки компонентов
ввода/вывода при открытии, создании и
закрытии файла; P – служит для
проверки успешности открытия файла. Указатель Current на объект
класса ManagmentCompany – контейнер
“Управляющая компания”, с которым работает
пользователь.