написати програму телефонний довідник з одночасним читанням даних записом і допису даних а також пошуком за телефоном або прізвищем виконати клас fstream с++
Ответы
#include <iostream>
#include <fstream>
using namespace std;
struct Contact {
string surname;
string phone_number;
};
int main() {
// Відкриваємо файл у режимі читання та запису
fstream phone_book("phone_book.txt", ios::in | ios::out);
// Якщо файл не існує, створюємо його
if (!phone_book) {
phone_book.open("phone_book.txt", ios::out);
}
// Читаємо дані з файлу
while (!phone_book.eof()) {
Contact contact;
phone_book >> contact.surname >> contact.phone_number;
// Виводимо дані на екран
cout << contact.surname << " " << contact.phone_number << endl;
}
// Додаємо нову контактну інформацію
cout << "Введіть прізвище: ";
string surname;
cin >> surname;
cout << "Введіть номер телефону: ";
string phone_number;
cin >> phone_number;
Contact new_contact;
new_contact.surname = surname;
new_contact.phone_number = phone_number;
// Додаємо контактну інформацію до файлу
phone_book << new_contact.surname << " " << new_contact.phone_number << endl;
// Пошук контактної інформації за номером телефону
cout << "Введіть номер телефону для пошуку: ";
string search_phone_number;
cin >> search_phone_number;
// Перевіряємо, чи містить файл контактну інформацію з таким номером телефону
bool found = false;
while (!phone_book.eof()) {
Contact contact;
phone_book >> contact.surname >> contact.phone_number;
if (contact.phone_number == search_phone_number) {
found = true;
cout << contact.surname << " " << contact.phone_number << endl;
break;
}
}
// Якщо контактна інформація не знайдена, повідомляємо про це
if (!found) {
cout << "Контактна інформація з таким номером телефону не знайдена" << endl;
}
// Закриваємо файл
phone_book.close();
return 0;
}