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

Lab7

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

Сам код:

#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);


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