Описание программного комплекса. Модуль Description. Вид исходных файлов с данными, страница 2

В модуле description.cpp описаны все классы и методы, которые использованы в данном программном комплексе. Базовым классом будет являться класс city, и наследуемые от него классы: Capital,Region,District,Village.

Так же в модуле будет описан класс variety, который будет хранить указатели на объекты класса. На рисунке 2 будет изображена иерархия классов, которые присутствуют в программе.

Рисунок 2 – Иерархия классов

В модуле описаны методы программного комплекса, такие как

-  openFile – открыть файл;

-  saveFile – сохранить файл;

-  ShowAll – показать все введенные/открытые элементы массива

-  addItem – нахождение элемента в массиве по названию телевизионного шоу;

-  deleteItemId – удаление элемента в массиве по названию телевизионного шоу;

-  findItem – нахождение элемента;

-  sortMas – сортировка масссива;

-  groupResult – групповой результат.

Также описана функция меню menu.

1.3.1  Class city

Класс city является базовым классом, для всех городов страны. В себя он включает методы, которые вызывают наследники.

В классе city находятся следующие поля: name –  отвечающий за название города, population – количество жителей, attraction – главные достопримечательности города.

Так же в классе описаны конструкторы, а так же сеттеры и геттеры данных: setname, setrating, setduration, getname, getrating, getduration. Используются в классе два виртуальных метода, это getGenre и getNumberGenre

1.3.2  Class Capital

В каждом классе элементы множества данных содержат три конструктора: конструктор без параметров, который очищает переменные объекта класса; конструктор с параметром в виде строки значений, разделенных точкой с запятой; конструктор с тремя параметрами-значениями.

Capital ( ) : city ( ) {}

Capital ( char* tmpStr ): city ( tmpStr ) {}

Capital ( float p, char* n, char* a ) : city ( p, n, a ) {}

Так же через переопределенный геттер getLevel мы получаем административный уровень в виде строки, а через переопределенный геттер getIntLevel получаем административный уровень в виде целого числа.

char* getLevel ( ){ return "Capital"; }

int   getIntLevel ( ) { return 1; }

1.3.3  Class Economics, Region, District, Village

Данные классы весьма похожи на класс Capital, только используются индивидуальные конструкторы  и переопределенные виртуальные функции, которые возвращают свои строковые и символьные значения.

1.3.4  Class variety

В данном классе-массиве будут храниться все данные. В классе содержаться все методы для работы с массивами строк. Это функции: открытия CSV файла, сохранение, удаление, добавление нового элемента, отображение данных всего массива, сортировка, поиск элемента, отображение групповых результатов по городам города. В классе так же храниться массив указателей на объекты класса и счетчик.

1.4  Модуль face.h

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

Задается директива #define NUMBER 100, в которой храниться максимальный размер массива, а так же задается стандартная область действия имен.

Вызываются функции menu, showHeadTable (шапка таблицы), showSeparator (разделитель между элементами таблицы) и showEndTable (конец таблицы).

2  ОПИСАНИЕ РАБОТЫ ПРОГРАММЫ ПО КОНТРОЛЬНОМУ ПРИМЕРУ

2.1  Описание процесса открытия, сохранения, отображения, и добавления элементов к массиву.

Для начала откроем файл kursa4.exe. Отображается меню для работы с элементами массива (рисунок 3). Каждый пункт меню отдельная строчка, отдельная цифра, при выборе которой будут выполняться соответствующие действия. Пункты меню:

1.  Открытие файла;

2.  Сохранение файла;

3.  Просмотр всех элементов;

4.  Добавление элементов из существующего файла;