- •Ульяновский государственный технический университет
- •Содержание
- •Введение
- •Руководство пользователя
- •Руководство программиста
- •3.1 «Дерево» объектов
- •3.2 Работа со списком
- •3.3 Программный интерфейс
- •Пространство имен stdrus.
- •Пространство имен stdsomecolour.
- •Пространство имен stdmyinterfacefunctions
- •Пространство имен stdmyteachprogramm
- •Заключение
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 – коды цветов текста и фона.