Подключаемые модули
В таблице 2.1 приведены названия и описания подключаемых модулей в демонстрационное приложение с помощью директивы препроцессора «# include»:
Таблица 1 – Подключаемые модули программ
МОДУЛЬ | ОПИСАНИЕ |
iostream | Ввод-вывод стандартного потока данных консоли |
String | Символьные строки |
locale.h | Задачи, связанные с локализацией |
conio.h | Консольный ввод-вывод |
Deque | Реализует шаблон класса контейнера std::deque |
UserContainer.h | Заголовочный файл класса, предназначенный для управления объектами пользователей |
User.h | Заголовочный файл класса, предназначенный для хранения информации о пользователе |
stdafx.h | Служит для генерации файла предкомпилированных заголовков |
Menu.h | Заголовочный файл класса, реализующего интерфейс пользователя |
Классы.
В программной реализации используется 3 класса. Объекты user хранятся в шаблоне класса контейнера «deque». В таблице 2.2 приведены поля класса «User»:
Таблица 2.2.1 – Поля класса «User»:
ПОЛЯ | ОПИСАНИЕ | ТИП | ОПИСАНИЕ ТИПА |
userId | Уникальный идентификатор пользователя | int | целочисленный |
Name | Имя пользователя | string | строковый |
surname | Фамилия пользователя | string | строковый |
patronimyc | Отчество пользователя | string | строковый |
Login | Логин пользователя | string | строковый |
Email Пароль пользователя | string string | строковый строковый | |
password | |||
phone | Контактный телефон пользователя | string | строковый |
regDate | Дата регистрации пользователя | string | строковый |
lastActivityDate | Дата последней активности пользователя | string | строковый |
onlineFlag | Статус онлайн/офлайн пользователя | bool | логический |
roleCode | Код роли в системе пользователя | int | целочисленный |
branchCode | Код филиала пользователя | int | целочисленный |
partCode | Код подразделения пользователя | int | целочисленный |
userPositionCode | Должность пользователя | int | целочисленный |
Таблица 2.2.2 – поля класса «UserContainer»:
ПОЛЯ | ОПИСАНИЕ | ТИП | ОПИСАНИЕ ТИПА |
userList | Список пользователей | deque<User> | двусвязная очередь объектов типа User |
Таблица 2.2.3 – поля класса «Menu»:
ПОЛЯ | ОПИСАНИЕ | ТИП | ОПИСАНИЕ ТИПА |
container | Указатель на объект UserContainer | UserContainer | Указатель на объект UserContainer |
Методы.
Для реализации и выполнения поставленной задачи используются следующие методы классов:
Описание методов приведено в таблице 2.3.
Таблица 2.3.1 – Описание методов класса «User»:
МЕТОД | ОПИСАНИЕ | ВОЗВРАЩАЕТ | АРГУМЕНТЫ | ОПИСАНИЕ АРГУМЕНТОВ |
void printUser | Вывод данных о профиле пользователя | – | – | – |
Таблица 2.3.2 – Описание методов класса «UserContainer»:
МЕТОД | ОПИСАНИЕ | ВОЗВРАЩАЕТ | АРГУМЕНТЫ | ОПИСАНИЕ АРГУМЕНТОВ |
User findUserBySurname | Поиск профиля пользователя по фамилии | findUser | – | – |
void printAllUser | Вывод списка всех пользователей | – | – | – |
void addUser | Добавление профиля пользователя | – | User user | Объект класса User |
void deleteUser | Удаление профиля пользователя | – | User user | Объект класса User |
void updateUser | Редактирование профиля пользователя | – | User user | Объект класса User |
Таблица 2.3.3 – Описание методов класса «Menu»:
МЕТОД | ОПИСАНИЕ | ВОЗВРАЩАЕТ | АРГУМЕНТЫ | ОПИСАНИЕ АРГУМЕНТОВ |
void mainMenu | Меню приложения | – | – | – |
В демонстрационном приложении используется функция инициализации приложения.(таблица 2.4).
Таблица 2.4 – Функция демонстрационного приложения.
МЕТОД | ОПИСАНИЕ | ВОЗВРАЩАЕТ | АРГУМЕНТЫ | ОПИСАНИЕ АРГУМЕНТОВ |
int main | Основная точка входа в программу и инициализация приложения | – | – |
Листинг программы
Листинг классов приведен в приложении А, а демонстрационной программы – в приложении Б. В создании классов использовались несколько файлов кода – «Menu.cpp», «User.cpp», «UserContainer.cpp».
В создании демонстрационного приложения использовался файл «CourseWORK.cpp».
Проект представлен в виде одного решения в среде Microsoft Visual Studio 2015.