
Добавил:
Вуз:
Предмет:
Файл:
Lab7
.txtЗадание:
Создать структуру для электронного паспорта (фамилия, имя отчество, адрес). Ввести с клавиатуры данные для нескольких паспортов. Найти паспорта с фамилиями, начинающимися на заданную букву(создать дин.массив результата). Найти все паспорта с одинаковыми именами(создать дин.массив результата). Все результаты выводить на экран.
Сам код:
#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);
}