Добавил:
КТ(ЭН) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab72305

.cpp
Скачиваний:
0
Добавлен:
31.08.2024
Размер:
4.01 Кб
Скачать
// lab72305.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
//

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

struct Epassport {
    string SecondN, Name, LastN, Adress;

    void enter() {
        cout << "Enter your last name: ";
        cin >> SecondN;
        cout << "Enter a name: ";
        cin >> Name;
        cout << "Enter your middle name: ";
        cin >> LastN;
        cout << "Enter the address: ";
        cin >> Adress;
    };

    void vivod() {
        cout << SecondN << " " << Name << " " << LastN << " " << Adress << endl;
    }

    static vector<Epassport> fpassportS(vector<Epassport> PassportControlofEmigrants, char P) {
        vector<Epassport> Result;
        for (int i = 0; i < PassportControlofEmigrants.size(); i++) {
            if (PassportControlofEmigrants[i].SecondN[0] == P) {
                Result.push_back(PassportControlofEmigrants[i]);
                PassportControlofEmigrants[i].vivod();
            }
        }
        return Result;
    }

    static vector<Epassport> fpassportsN(vector<Epassport> PassportControlofEmigrants) {
        vector<Epassport> Result;
        for (int i = 0; i < PassportControlofEmigrants.size(); i++) {
            for (int j = i + 1; j < PassportControlofEmigrants.size(); j++) {
                if (PassportControlofEmigrants[i].Name == PassportControlofEmigrants[j].Name) {
                    Result.push_back(PassportControlofEmigrants[i]);
                    PassportControlofEmigrants[i].vivod();
                    PassportControlofEmigrants[j].vivod();
                }
            }
        }
        return Result;
    }
};

int main() {
    setlocale(LC_ALL, "Russian");
    vector<Epassport> PassportControlofEmigrants;
    int n;
    char P;
    cout << "Attention! The program accepts only English." << endl;
    cout << "Enter the number of required passports" << endl;
    cin >> n;

    for (int i = 0; i < n; i++) {
        Epassport nigger;
        nigger.enter();
        PassportControlofEmigrants.push_back(nigger);
    }

    cout << "Enter a letter to search for surnames starting with that letter" << endl;
    cin >> P;
    cout << "passports with the same letters at the beginning of the surname:" << endl;
    Epassport::fpassportS(PassportControlofEmigrants, P);
    cout << "passports with the same names; " << endl;
    Epassport::fpassportsN(PassportControlofEmigrants);

    return 0;
}

// Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"
// Отладка программы: F5 или меню "Отладка" > "Запустить отладку"

// Советы по началу работы 
//   1. В окне обозревателя решений можно добавлять файлы и управлять ими.
//   2. В окне Team Explorer можно подключиться к системе управления версиями.
//   3. В окне "Выходные данные" можно просматривать выходные данные сборки и другие сообщения.
//   4. В окне "Список ошибок" можно просматривать ошибки.
//   5. Последовательно выберите пункты меню "Проект" > "Добавить новый элемент", чтобы создать файлы кода, или "Проект" > "Добавить существующий элемент", чтобы добавить в проект существующие файлы кода.
//   6. Чтобы снова открыть этот проект позже, выберите пункты меню "Файл" > "Открыть" > "Проект" и выберите SLN-файл.
Соседние файлы в предмете Основы программирования