В проекте присутствуют две папки:
- BD ver.1 - недоработанная версия с использованием векторов и некорректным виртуальным классом (не поддреживается)
- ВD v2 - версия, использующая контейнеры и нормальный виртуальный класс (facult см. вариант)
- Реализовать виртуальный класс, содержащий чистые виртуальные функции, функционал которых различается для наследников.
- Реализовать функционал, предусмотренный вариантом.
- Реализовать возможность создания однотипных БД (все объекты одного типа) и гибридных БД через интерфейс СУБД.
- Реализовать функционал добавления, удаления, сортировки записей для однотипных и гибридных БД через интерфейс СУБД. Обращение к БД осуществляется по имени БД.
- Реализовать возможность открытия и сохранения существующих БД через интерфейс СУБД.
- Реализовать возможность выборки по правилу (значению поля) записей БД и сохранения выборки как новой БД через интерфейс СУБД.
- Реализовать возможность вывода на экран записей БД через интерфейс СУБД.
- Предусмотреть в интерфейсе СУБД команду вывода списка существующих БД.
- Предусмотреть обработку исключительных ситуаций.
БД – совокупность факультетов (вуз). Класс 1 – базовые факультеты, класс 2 – отраслевые факультеты. Каждый факультет имеет название, НУК, кол-во кафедр. Для каждого факультета указан список дисциплин, сгруппированных по кафедрам, для каждой дисциплины – кол-во преподавателей, которые её ведут. Для отраслевого факультета также присутствуют названия дисциплин с кол-вом преподавателей, сгруппированные по базовым организациям.
П. 2:
- Реализовать функцию подсчёта кол-ва уникальных (по названию) дисциплин, преподаваемых на факультете (для отраслевых факультетов – с учётом дисциплин базовых организаций).
- Реализовать поиск факультета внутри БД по названию.
Правила сортировки записей БД (п. 4):
- По названию факультета (по алфавиту).
- По числу кафедр.
Правила выборки записей из БД (п. 6):
- Факультеты, относящиеся к НУК name (name задаётся с клавиатуры).
- Факультеты, ведущие дисциплину name (name задаётся с клавиатуры).