Я новичок программист, и я работаю над программой, в которой хранится реестр домашних животных в отеле (некоторые глупые упражнения, которые мы видели в классе, не имеет значения). Я использую векторы для хранения элементов структуры (домашних животных). Код для структуры заключается в следующем:Как удалить элемент структуры из вектора?
И функция просить пользовательский ввод заключается в следующем:
AddPet(vector<Pets> &vtnew)
{
Pets newpet;
cout << "Enter the pet's name: " << endl;
cin >> newpet.Name;
cout << "Enter the pet's race: " << endl;
cin >> newpet.Race;
cout << "Enter the owner's name: " << endl;
cin >> newpet.Owner;
cout << "Enter the owner's telephone number: " << endl;
cin >> newpet.Tel;
vtnew.push_back(newpet);
}
Хорошо, теперь мне нужно создать функцию, чтобы удалить животное, введя имя или что-то. Есть ли способ сделать это?
Сначала вы должны ознакомиться с книгой по внедрению на C++. – Lingxi
Вы добавили их с помощью функции 'std :: vector':' push_back() '. Посмотрите, какие другие функции 'std :: vector' есть, что может позволить вам удалить элемент! – NoseKnowsAll
Если ваша программа хочет использовать имя домашнего животного в качестве ключа для поиска соответствующей структуры «Домашние животные», более естественно использовать «std :: map» вместо «vector» - вы затем добавьте домашних животных, используя 'vtnew [newpet.Name] = newpet;' (возможно, захотите изменить имя переменной 'vtnew', чтобы быть более описательным) и удалить с помощью' vtnew.erase (some_pet_name); '. –