Как дописать удаление из выражения? С++

#include <vector>
#include <cstring>
#include <iostream>
#include <Windows.h>
using namespace std;
struct PredmUk
{
    char Name[30];
    int Nomer;
};
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char name[12]{};
    int n, k;
    char t;
    cout << "Формирование предметного указателя:";
    cout << endl;
    cout << "Введите размер предметного указателя <10:" << endl;
    cin >> n;
    while (n < 1 || n>10)
    {
        cout << "! Ошибка ! Введите размер предметного указателя МЕНЬШЕ 10" << endl;
        cin >> n;
    }
    vector<PredmUk> v(n);
    for (int i = 0; i < v.size(); i++)
    {
        cout << "Введите слово №" << i + 1 << ": ";
        cin >> v[i].Name;
        cout << "Введите номер страницы: ";
        cin >> v[i].Nomer;
    }
    cout << "Формирование завершено\nХотите просмореть предметный указатель? Введите 1\n\
            Хотите просмотреть номерa страниц для заданного слова? Введите 2\n\
Хотите удалить слово? Введите 3\n";
 
 
    cin >> k;
    
    if (k == 1)
    {
        cout << "Вывод предметного указателя :" << endl;
        for (int i = 0; i < v.size(); i++)
        {
            cout << "Слово: " << v[i].Name << endl;
            cout << "Номер страницы: " << v[i].Nomer << endl;
        }
    }
    if (k == 2)
    {
        char slovo[20];
        cin.getline(slovo, 20, '\n');
        for (int i = 0; i < v.size(); i++)
        {
            if (!strcmp(slovo, v[i].Name))
            {
                cout << "Слово: " << v[i].Name << endl;
                cout << "Номер страницы: " << v[i].Nomer << endl;
            }
        }
    }
    system("pause");
    return 0;
}

Нужно дописать удаление слова из списка. Как это сделать?

Само задание:

Описать класс «предметный указатель». Каждый компонент указателя содержит слово и номера страниц, на которых это слово встречается. Количество номеров страниц, относящихся к одному слову, от одного до десяти. Предусмотреть возможность формирования указателя с клавиатуры и из файла, вывода указателя, вывода номеров страниц для заданного слова, удаления элемента из указателя. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.


Ответы (1 шт):

Автор решения: SelectionForCollection

За удаление в векторах отвечают методы: erase(it) и erase(begin, end). Где первый метод получает итератор (не путайте типы, iterator != int, я просто уверен что ошибка именно в этом), а второй промежуток.

Поэтому могу вам предложить либо получить итератор элемента, либо же укажите промежуток в 1 элемент.

Подробнее можете почитать здесь.

→ Ссылка