• Предмет: Информатика
  • Автор: vladkirna
  • Вопрос задан 4 месяца назад

МОВА С ++ ДОПОМОЖІТЬ БУДЬЛАСКА ДАЮ ВСІ БАЛИ, БУДУ ДУЖЕ ВДЯЧНИЙ ЯКЩО ДОПОМОЖЕТЕ​

Приложения:

Ответы

Ответ дал: retwquu3
0

#include <iostream>

#include <fstream>

#include <vector>

#include <string>

using namespace std;

struct Employee {

   string surname;

   int age;

   // Додаткові дані про співробітника

};

// Функція для виводу інформації про співробітника

void printEmployee(const Employee& employee) {

   cout << "Прізвище: " << employee.surname << endl;

   cout << "Вік: " << employee.age << endl;

   // Вивід додаткових даних про співробітника

}

// Функція для завантаження списку співробітників з файлу

vector<Employee> loadEmployeesFromFile(const string& filename) {

   vector<Employee> employees;

   ifstream file(filename);

   if (file.is_open()) {

       Employee employee;

       while (file >> employee.surname >> employee.age) {

           employees.push_back(employee);

       }

       file.close();

   } else {

       cout << "Не вдалося відкрити файл " << filename << endl;

   }

   return employees;

}

// Функція для збереження списку співробітників у файл

void saveEmployeesToFile(const vector<Employee>& employees, const string& filename) {

   ofstream file(filename);

   if (file.is_open()) {

       for (const Employee& employee : employees) {

           file << employee.surname << " " << employee.age << endl;

       }

       file.close();

       cout << "Список співробітників збережено у файл " << filename << endl;

   } else {

       cout << "Не вдалося відкрити файл " << filename << " для збереження списку співробітників" << endl;

   }

}

// Функція для введення даних про нового співробітника

Employee enterEmployeeData() {

   Employee employee;

   cout << "Введіть прізвище співробітника: ";

   cin >> employee.surname;

   cout << "Введіть вік співробітника: ";

   cin >> employee.age;

   // Введення додаткових даних про співробітника

   return employee;

}

// Функція для пошуку співробітника за прізвищем

void searchBySurname(const vector<Employee>& employees, const string& surname) {

   bool found = false;

   for (const Employee& employee : employees) {

       if (employee.surname == surname) {

           printEmployee(employee);

           cout << endl;

           found = true;

       }

   }

   if (!found) {

       cout << "Співробітників з прізвищем " << surname << " не знайдено" << endl;

   }

}

// Функція для виводу співробітників зазначеного віку

void filterByAge(const vector<Employee>& employees, int age) {

bool found = false;
vector<Employee>& employees, int age) {

   bool found = false;

   for (const Employee& employee : employees) {

       if (employee.age == age) {

           printEmployee(employee);

           cout << endl;

           found = true;

       }

   }

   if (!found) {

       cout << "Співробітників віку " << age << " не знайдено" << endl;

   }

}

// Функція для виводу співробітників, прізвище яких починається на задану літеру

void filterBySurnameLetter(const vector<Employee>& employees, char letter) {

   bool found = false;

   for (const Employee& employee : employees) {

       if (employee.surname[0] == letter) {

           printEmployee(employee);

           cout << endl;

           found = true;

       }

   }

   if (!found) {

       cout << "Співробітників з прізвищем, що починається на літеру " << letter << " не знайдено" << endl;

   }

}

int main() {

   vector<Employee> employees;

   // Завантаження списку співробітників з файлу при старті програми

   employees = loadEmployeesFromFile("employees.txt");

   int choice;

   char letter;

   string surname;

   do {

       cout << "Меню:" << endl;

       cout << "1. Введення даних про нового співробітника" << endl;

       cout << "2. Редагування даних співробітника" << endl;

       cout << "3. Видалення співробітника" << endl;

       cout << "4. Пошук співробітника за прізвищем" << endl;

       cout << "5. Вивід інформації про співробітників заданого віку" << endl;

       cout << "6. Вивід інформації про співробітників, прізвище яких починається на задану літеру" << endl;

       cout << "7. Збереження списку співробітників у файл" << endl;

       cout << "8. Вихід з програми" << endl;

       cout << "Виберіть опцію: ";

       cin >> choice;

       switch (choice) {

           case 1:

               employees.push_back(enterEmployeeData());

               break;

           case 2:

               // Логіка для редагування даних співробітника

               break;

           case 3:

               // Логіка для видалення співробітника

               break;

           case 4:

               cout << "Введіть прізвище співробітника для пошуку: ";

               cin >> surname;

               searchBySurname(employees, surname);

               break;

           case 5:

               cout << "Введіть вік співробітників для виводу: ";

               cin >> age;

               filterByAge(employees, age);

               break;

           case 6:

               cout << "Введіть літеру для пошуку співробітників: ";

               cin >> letter;

               filterBySurnameLetter(employees, letter);

               break;

           case 7:

               saveEmployeesToFile(employees, "employees.txt");

               break;

           case 8:

               saveEmployeesToFile(employees, "employees.txt");

               cout << "Програма завершила роботу" << endl;

               break;

           default:

               cout << "Неправильний вибір, спробуйте ще раз" << endl;

       }

       cout << endl;

   } while (choice != 8);

   return 0;

}

Обов'язково замініть "employees.txt" на шлях до власного файлу, де зберігаються дані про співробітників.

Вас заинтересует