Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пояснительная записка.docx
Скачиваний:
2
Добавлен:
17.09.2019
Размер:
161.45 Кб
Скачать

3.2 Работа со списком

Еще одной задачей курсового проектирования было создание контейнера типа «список» и ряда функций для его обработки. Прототипы этих функций описаны в файле spisok_functions.h, а их реализация в файле spisok_functions.cpp. Пространство имен stdmyspisok содержит следующие функции обработки списка:

//включение нового элемента в список с клавиатуры

void IncludeElement (list <cPlanes*> &, cPlanes * );

//включение нового элемента в список из файла

void IncludeElementFromFile (list <cPlanes*> &, cPlanes *, char *);

//поиск элемента

void SearchingElement (list <cPlanes*> &, cPlanes * , string &, const char *);

//печать всего списка

void PrintList (list <cPlanes*> &);

//печать конкретного элемента из списка

void PrintElementFromList (list <cPlanes*> &,int &);

//печать определенной категории списка

void PrintCategoryFromList (list <cPlanes*> &, const char *);

//удаление элемента из списка

void DeleteElementFromList (list <cPlanes*> &, int &);

//удаление категорию из списка

void DeleteCategoryFromList (list <cPlanes*> &, const char *);

//печать конкретного элемента из списка в файл

void PrintElementFromListToFile (list <cPlanes*> &, int &, char *);

//печать категории из списка в файл

void PrintCategoryFromListToFile (list <cPlanes*> &, const char *, char *);

// Печать всего списка в файл

void PrintListToFile (list <cPlanes*> &, char *);

//Печать действий, выполняемых объектом

void PrintAllObjectsActions (list <cPlanes*> &);

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

#include "cplanes.h"

#include "cpassengerplanes.h"

#include "ccargoplanes.h"

#include "cfighters.h"

#include "cgroundattackplanes.h"

using namespace stdplanes;

using namespace stdpassengerplanes;

using namespace stdcargoplanes;

using namespace stdfighters;

using namespace stdgroundattackplanes;

Также необходимо подключение стандартной библиотеки <list> для получения возможности использования стандартных библиотечных функций работы со списком:

#include <list>

3.3 Программный интерфейс

Программный интерфейс организуют функции, представленные в следующих пространствах имен:

  • stdrus

  • stdsomecolour

  • stdmyinterfacefunctions

  • stdmyteachprogramm

Пространство имен stdrus.

Пространство имен stdrus содержит единственную функцию для корректного вывода букв русского алфавита в консольное меню:

char* Rus(const char *); //русификация строки вывода консольное меню

При реализации этой функции была использована функция перекодировки AnsiToOem(const char *, char *) из стандартной библиотеки <windows.h>.

Пространство имен stdsomecolour.

В пространстве имен stdsomecolour описаны функции настройки цветов фона и текста

#include <windows.h>

//устанавливает цвет текста и подложки в консоли

void SetColor(ConsoleColor text, ConsoleColor background);

//устанавливает цвет в меню и подменю

void SetColorMenu ();

//устанавливает цвет текста и фона в рабочей области

void SetColorWorkPlace ();

Параметры text и background – коды цветов текста и фона.