C/C++
Написать программу на C++. Дан массив записей, содержащий номера телефонов сотрудников учреждения
Дан массив записей, содержащий номера телефонов сотрудников учреждения: фамилия и инициалы сотрудника; номер телефона. Найти и вывести на экран телефон сотрудника по заданным фамилии и инициалам.
Это я бегу бесплатно писать программу какому-то челу из интернета

Виктор Великий
Должен отметить, что вы в отличной форме)
#include <iostream>
#include <string>
#include <array>
using namespace std;
class Abonent {
string name;
string phone;
friend istream& operator>>(istream& inp, Abonent& abn) {
cout << "Ф.И.О.: ";
getline(inp, abn.name );
cout << "Телефон: ";
getline(inp, abn.phone );
return inp;
}
friend ostream& operator<<(ostream& out, const Abonent& abn) {
return out << abn.name << ' ' << abn.phone ;
}
friend bool operator==(const Abonent& a, const Abonent& b) {
return a.name == b.name || a.phone == b.phone ;
}
public:
Abonent() = default;
Abonent(const string& name, const string& phone)
: name(name), phone(phone) {}
};
int main() {
const size_t length = 5;
array<Abonent, length> phonebook{};
puts("Введите записи в телефонную книгу:");
for (auto& abonent : phonebook) cin >> abonent;
cout << "Введите Ф.И.О.: ";
string name;
getline(cin, name);
auto query = Abonent{ name, "" };
for (const auto& abonent : phonebook) {
if (query == abonent) {
cout << abonent << '\n';
}
}
}
#include <string>
#include <array>
using namespace std;
class Abonent {
string name;
string phone;
friend istream& operator>>(istream& inp, Abonent& abn) {
cout << "Ф.И.О.: ";
getline(inp, abn.name );
cout << "Телефон: ";
getline(inp, abn.phone );
return inp;
}
friend ostream& operator<<(ostream& out, const Abonent& abn) {
return out << abn.name << ' ' << abn.phone ;
}
friend bool operator==(const Abonent& a, const Abonent& b) {
return a.name == b.name || a.phone == b.phone ;
}
public:
Abonent() = default;
Abonent(const string& name, const string& phone)
: name(name), phone(phone) {}
};
int main() {
const size_t length = 5;
array<Abonent, length> phonebook{};
puts("Введите записи в телефонную книгу:");
for (auto& abonent : phonebook) cin >> abonent;
cout << "Введите Ф.И.О.: ";
string name;
getline(cin, name);
auto query = Abonent{ name, "" };
for (const auto& abonent : phonebook) {
if (query == abonent) {
cout << abonent << '\n';
}
}
}
struct abonent
{
string famil;
string inicial;
string numer;
}
string find (vector <abonent> vec, string fam, string ini)
{
string numbers;
for (auto &i:vec) if (fam == i.famil && ini == i.inicial) numbers+=i.numer + '\n';
if (numbers.length()==0) numbers = "Abonents not found!";
return numbers;
}
main (){
vector <abonent> abonents;
string fam, ini;
.....
Я хз каким образом заполняется ваша база данных, поэтому в этом месте вы ее формируете в массиве abonents.
.....
cout << "Enter famile and inicial\n";
cin >> fam >> ini;
cout << "Found results: \n" << ::find(abonents, fam, ini);
}
{
string famil;
string inicial;
string numer;
}
string find (vector <abonent> vec, string fam, string ini)
{
string numbers;
for (auto &i:vec) if (fam == i.famil && ini == i.inicial) numbers+=i.numer + '\n';
if (numbers.length()==0) numbers = "Abonents not found!";
return numbers;
}
main (){
vector <abonent> abonents;
string fam, ini;
.....
Я хз каким образом заполняется ваша база данных, поэтому в этом месте вы ее формируете в массиве abonents.
.....
cout << "Enter famile and inicial\n";
cin >> fam >> ini;
cout << "Found results: \n" << ::find(abonents, fam, ini);
}
Похожие вопросы
- Составить программу на c++ УСПОЛЬЗУЯ МАССИВ!!!
- Помогите, пожалуйста, написать программу на C++ (массивы)
- Помогите написать программу по обработке двухмерного массива в с++
- Помогите написать программу на C++
- Написать программу на c++
- Помоги пожалуйста написать программу на C++
- Дан массив записей учеников
- Написать программу на C++.Создать класс vector3d, задаваемый тройкой координат. Создать конструктор...
- Помогите написать программу на C++
- Написать программу на C/C++. Найти количество отрицательных элементов под побочной диагональю.