Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2020, 19:36   #1
overmouseee
Новичок
Джуниор
 
Регистрация: 29.05.2020
Сообщений: 0
По умолчанию В двух функциях по удалению данных определить общее количество удаленных записей

Помогите, пожалуйста.Даны две функции, которые удаляют записи из бинарного файла 1) с клавиатуры 2)из файла. Нужно составить функцию, которая при вызове покажет количество удаленных записей.
Код:
void employees::DeleteFromFile()
{
 
    vector<employees*> Temporary;
    fin.open("delete.dat");
    while (!fin.eof())
    {
        employees::ptr = new employees;
        fin >> ptr;
        fout << ptr;
        Temporary.push_back(ptr);
    }
    fin.close();
 
    for (int i = 0; i < employeesVect.size(); i++)
        for (int j = 0; j < Temporary.size(); j++)
        {
            if (employeesVect[i]->postition == Temporary[j]->postition && employeesVect[i]->fio_work == Temporary[j]->fio_work && employeesVect[i]->nazvanieotdela == Temporary[j]->nazvanieotdela)
            {
                employeesVect.erase(employeesVect.begin() + i);
                cout << "Работник " << Temporary[j]->fio_work << " с названием отдела " << Temporary[j]->nazvanieotdela << " удален." << endl;
            }
        }
    employees::Sort();
    employees::FileCreate();
}
 
void employees::DeleteFromKeyboard()
{
    string inpFioWork;
    string inpOtdelName;
    bool isDone = false;
    cout << "Введите аттрибуты для удаления" << endl;
    cout << "Имя работника" << endl;
    cin >> inpFioWork;
    cout << "Название отдела" << endl;
    cin >> inpOtdelName;
    for (int i = 0; i < employeesVect.size(); i++)
        if (employeesVect[i]->fio_work == inpFioWork && employeesVect[i]->nazvanieotdela == inpOtdelName)
        {
            employeesVect.erase(employeesVect.begin() + i);
            isDone = true;
            cout << "Работник " << inpFioWork << " с названием отдела " << inpOtdelName << " удален." << endl;
            break;
        }
    if (!isDone) cout << "Работник не найден. Повторить запрос удаления?" << endl;
    employees::Sort();
    employees::FileCreate();
}
overmouseee вне форума Ответить с цитированием
Старый 30.05.2020, 01:12   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,220
По умолчанию

overmouseee, раздел "Фриланс" для платной помощи. Озвучьте прайс
Arigato вне форума Ответить с цитированием
Старый 03.06.2020, 03:20   #3
Larboss
Недо
Участник клуба
 
Регистрация: 11.08.2011
Сообщений: 1,394
По умолчанию

ТЗ, срок, бюджет: larbossfreelance@yandex.ru Метка: freelance Указывайте ссылку на тему форума.
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
Larboss вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчитать и вывести на экран общее количество отрицательных элементов, определить в какой из матриц среднее арифметическое значение прочих элементов имеет большую величину. rustorkan PHP 0 14.01.2018 19:29
Определить общее количество функций, которые экспортируются в исполняемый файл kotov-zhenja Общие вопросы Delphi 19 18.09.2015 13:35
Pascal ABC. Даны три массивы. Определить общее количество элементов массивов, значение которых лежат в интервале (подпрограмма) MarsLoveMoon Паскаль, Turbo Pascal, PascalABC.NET 6 24.04.2014 19:28
обеспечение связи двух удаленных подразделений для передачи данных sunriser Помощь студентам 4 03.10.2013 13:09
Восстановление удаленных записей InterBase Vinas БД в Delphi 3 05.12.2007 10:29