Читать курсовая по информационному обеспечению, программированию: "Разработка программного комплекса для ведения учёта памятников города" Страница 2

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

модулей Модуль ClassFile.cpp содержит описание всех используемых в программе классов. А точнее базовый класс памятника и четыре его наследника (здание, квартал, площадь и скульптура), а также класс оболочка, который содержит динамический массив и все функции для работы с массивом памятника (добавление, удаление, сортировка и т.д.) Модуль FunctionFile.cpp содержит различные вспомогательные функции. Это и вывод на экран различных частей таблицы и вывод различных меню, а также выбор имени файла. Модуль main.cpp содержит точку входа в программу, в которой находится оператор switch для выбора необходимых действий.

Файл global.h является связующим звеном, где описаны все стандартные библиотеки и функции из файла FunctionFile.cpp

1.2 Модуль ClassFile.cpp

В модуле описаны следующие классы:

− Pamiatnik;

− Zdanie;

− Kvartal;

− Square;

− Skulptura;

− Massiv_Pamiatnikov.

Иерархия классов представлена на рисунке 2. Рисунок 2 - Иерархия классов 1.2.1 Класс Pamiatnik

Класс Pamiatnik является базовым классом для всех памятников. Именно поэтому он содержит все общие поля и все общие методы. Ко всему прочему данный класс считается абстрактным, т.е. нельзя непосредственно создавать экземпляры этого класса. Данный класс предназначен только как шаблон для создания других классов памятника. Однако, несмотря на это, он содержит в себе множество методов, которые могут вызывать наследники.

Класс Pamiatnik содержит следующие поля:

Set_God - Год основания памятника;

Set_Stoimost - Стоимость расходов на содержание памятника;

Set_Name - Название памятника;

Type - Тип памятника. Используется для того, чтобы каждому памятнику присвоить соответствующее значение в данном поле. Значение именно из этого поля будет использоваться каждым классом, когда он будет создавать строковое представление всех своих ключевых полей для сохранения в файл.

prev - указатель на предыдущий памятник в массиве.

next - указатель на следующий памятник в массиве.

Поля prev и next предназначены для построения динамического массива. Принцип динамического массива заключается в том, что все его элементы не обязаны находиться в памяти последовательно друг за другом. Однако все элементы массива должны быть выстроены в определённую последовательность. При такой концепции сам массив должен знать элемент, который является первым, чтобы именно с него начать работу с массивом, а также должен знать последний элемент, для того, чтобы знать, куда добавлять следующий элемент. Таким образом, с помощью полей prev и next каждый памятник точно знает своё место в массиве.

При работе с динамическими массивами, элементами которых являются большие структуры данных, можно очень быстро управлять элементами. Например, если необходимо удалить элемент массива, то достаточно только будет изменить указатель у предыдущего элемента и у следующего элемента, и при этом не образуется пустой ячейки, как это было бы при работе со статическим массивом.

Так как все ключевые поля являются закрытыми, то необходимо в поле public создать методы для записи и чтения данных в/из этих ключевых полей. Методы для записи имеют в своём названии слово Set, а методы для получения значения - Get.

В связи с тем, что в программе необходимо предусмотреть возможность пользователю добавить новый памятник, в том числе и вручную. Поэтому класс Pamiatnik содержит метод Vvod.


Похожие работы

 
Тема: “Осіння учта” Ярослава Івашкевича як вияв діонісійського бачення українсько-польського культурного пограниччя
Предмет/Тип: Лингвистика, филология, языкознание (Реферат)
 
Тема: Организация комплекса работ по созданию планово-высотной основы для изыскания и строительства жилого комплекса и съемке участка застроенной территории в масштабе 1:500
Предмет/Тип: Геология (Курсовая работа (т))
 
Тема: Описание комплекса маркетинга для туши для ресниц Define-a-Lash от Maybelline New York
Предмет/Тип: Маркетинг (Контрольная работа)
 
Тема: Обоснование комплекса машин для возделывания кукурузы на силос с разработкой МТА для прикатывания почвы после посева
Предмет/Тип: Сельское хозяйство (Курсовая работа (т))
 
Тема: Обоснование комплекса машин для возделывания кукурузы на силос с разработкой МТА для прикатывания почвы после посева
Предмет/Тип: Сельское хозяйство (Курсовая работа (т))

Интересная статья: Быстрое написание курсовой работы