Загрузка данных


#include <iostream>
#include <string>
using namespace std;

// Структура
struct NOTE {
    string fam;      // фамилия
    string im;       // имя
    string tel;      // телефон
    int dr[3];       // день, месяц, год
};

int main() {
    const int N = 8;
    NOTE zapis[N];

    // Ввод данных
    for (int i = 0; i < N; i++) {
        cout << "Введите фамилию: ";
        cin >> zapis[i].fam;
        cout << "Имя: ";
        cin >> zapis[i].im;
        cout << "Телефон: ";
        cin >> zapis[i].tel;
        cout << "День рождения (день месяц год): ";
        cin >> zapis[i].dr[0] >> zapis[i].dr[1] >> zapis[i].dr[2];
    }

    // Сортировка по дате рождения
    for (int i = 0; i < N - 1; i++) {
        for (int j = 0; j < N - i - 1; j++) {
            // Сравниваем года
            if (zapis[j].dr[2] > zapis[j+1].dr[2]) {
                swap(zapis[j], zapis[j+1]);
            }
            // Если года равны, сравниваем месяцы
            else if (zapis[j].dr[2] == zapis[j+1].dr[2] && 
                     zapis[j].dr[1] > zapis[j+1].dr[1]) {
                swap(zapis[j], zapis[j+1]);
            }
            // Если года и месяцы равны, сравниваем дни
            else if (zapis[j].dr[2] == zapis[j+1].dr[2] && 
                     zapis[j].dr[1] == zapis[j+1].dr[1] && 
                     zapis[j].dr[0] > zapis[j+1].dr[0]) {
                swap(zapis[j], zapis[j+1]);
            }
        }
    }

    // Поиск по телефону
    string poisk;
    cout << "\nВведите номер телефона: ";
    cin >> poisk;

    int found = -1;
    for (int i = 0; i < N; i++) {
        if (zapis[i].tel == poisk) {
            found = i;
            break;
        }
    }

    if (found != -1) {
        cout << "\nНайден: " << zapis[found].fam << " " << zapis[found].im
             << ", тел: " << zapis[found].tel
             << ", дата: " << zapis[found].dr[0] << "." << zapis[found].dr[1] 
             << "." << zapis[found].dr[2] << endl;
    } else {
        cout << "Не найден\n";
    }

    return 0;
}