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

Lab7

.txt
Скачиваний:
0
Добавлен:
31.08.2024
Размер:
3.14 Кб
Скачать
Задание:
Создать структуру для электронного паспорта (фамилия, имя отчество, адрес). Ввести с клавиатуры данные для нескольких паспортов. Найти паспорта с фамилиями, начинающимися на заданную букву(создать дин.массив результата). Найти все паспорта с одинаковыми именами(создать дин.массив результата). Все результаты выводить на экран.

Сам код:

#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct Epassport {
    string SecondN, Name, LastN, Adress;

    void enter() {
        setlocale(LC_ALL, "Russian");
        cout << "Введите фамилию: ";
        cin >> SecondN;
        cout << "Введите имя: ";
        cin >> Name;
        cout << "Введите отчество: ";
        cin >> LastN;
        cout << "введите адрес через нижнее подчеркивание: ";
        cin >> Adress;
    };
    void vivod() {
        setlocale(LC_ALL, "Russian");
        cout << SecondN << " " << Name << " " << LastN << " " << Adress << endl;
    }

    vector<Epassport> fpassportS(vector<Epassport> PassportControlofEmigrants, char P)
    {
        setlocale(LC_ALL, "Russian");
        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;
    };


    vector<Epassport> fpassportsN(vector<Epassport> PassportControlofEmigrants) {
        setlocale(LC_ALL, "Russian");
        vector <Epassport> Result;
        for (int i = 0; i < PassportControlofEmigrants.size(); i++) {

            for (int j = 0; j < PassportControlofEmigrants.size(); j++) {
                if (PassportControlofEmigrants[i].Name == PassportControlofEmigrants[j].Name) {
                    Result.push_back(PassportControlofEmigrants[i]);
                    PassportControlofEmigrants[i].vivod();

                }

            }


        }
        return Result;
    };
};







int main()
{
    vector <Epassport> PassportControlofEmigrants;
    setlocale(LC_ALL, "ru");
    int n;
    char P;
    cout << "Введите количество нужных паспортов" << endl;
    cin >> n;
    for (int i = 0; i < n; i++) {
        Epassport home;
        home.enter();
        PassportControlofEmigrants.push_back(home);

    }
    cout << "Введите РУССКУЮ букву для поиска фамилий, начинающихся с этой буквы" << endl;
    cin >> P;
    Epassport USA;
    USA.fpassportS(PassportControlofEmigrants, P);
    USA.fpassportsN(PassportControlofEmigrants);


}
Соседние файлы в предмете Основы программирования