Задание 5.
Вариант 3.
Разработать программу, которая работает с объектами класса CPerson. Класс CPerson хранит в себе следующую информацию:
TCHAR* szFirstName
TCHAR* szSurname
TCHAR* szCountry
unsigned int nID - уникальный идентификатор пользователя.
Класс CPerson должен обладать способностью создавать новые ID с использованием сквозного счетчика, который хранится в классе CPerson. Есть простой массив (не STL), который хранит этих объекты данного класса (не указатели на объекты). Массив динамический - его длина соответствует количеству пользователей. Программа должна обеспечивать ввод, удаление, высветку пользователей и сортировку пользователей по Surname. Сортировка производится прямо в массиве, в котором хранятся объекты CPerson. Для сортировки использовать функцию, которой передаются объекты CPerson для сортировки и функция сравнения (сравнение по Surname).
Должен быть написан оператор << для вывода объекта CPerson (будет использоваться для высветки содержимого массива).
Формат вывода должен быть следующий:
ID FirstName Surname Country
1 Андрей Андреев Россия
Для работы программы должно быть организована высветка доступных команд, типа:
0 - View
1 - Add
2 - Delete
3 - Delete all
4 - Sort by Surname
5 - Exit
Эта подсказка должна высвечиваться после выполнения любой команды. Также после выполнения команд: сортировки, удаления, добавления сразу должна выполняться высветка списка объектов CPerson.
В результате в проекте должен быть header файл, хранящий интерфейс класса CPerson, source файл, хранящий его имплементацию, и source файл головной программы-драйвера.