ЛР1. Записи и массивы

Задание

  1. Сформировать базу данных (БД) в виде динамического массива записей, каждая из которых содержит персональные данные человека: ФИО, пол, дату рождения, номер удостоверения личности, динамический массив детей, который содержит номера удостоверений личности каждого ребенка. Количество элементов массива записей и массивов детей заранее неизвестно.

    Записи заполняются со стандартного ввода. Пустая строка означает окончание ввода. Количество элементов при вводе нигде явно не указывается.

    Для ускорения формирования БД следует заранее подготовить текстовый файл с данными и запускать программу с перенаправлением ввода из указанного файла.

    По окончании ввода вывести на экран информацию о каждом человеке. При выводе содержимого массивов детей указывать как номер удостоверения личности ребенка, так и его ФИО. Если в БД отсутствует информация о ребенке, вывести "- - -" вместо ФИО.

  2. Решить следующие задачи:
    1. Дана дата, найти всех женщин, родившихся в этот день
    2. Дан номер удостоверения личности ребенка, найти его родителей
    3. Найти всех дедушек
    4. Найти всех сирот
    5. (* - необязательно, +20 баллов) Проверить корректность сформированной БД: наличие в БД всех упоминаемых детей, отсутствие родителей одного пола, отсутствие циклического наследования (человек не может быть своим собственным предком или потомком), возрастные ошибки (например, считать, что детородный возраст человека 10-70 лет) и т.д.