This code deletes six lines from a file about a person from a contact list. This code works perfectly fine, however I don't know how to make this code less repetitive.
I use a while loop to push my lines inside a vector, and then use the following for loop to erase from the vector. At the end of the loop, I recreate the file again and push the remaining data into the file.
As you can see, I repeat file.erase() many times.
std::cout << "Enter name of contact you would like to delete: ";
getline(std::cin, search);
for(int i = 0; i < (int)file.size(); ++i)
{
if(file[i].substr(0, search.length()) == search)
{
file.erase(file.begin() + i);
file.erase(file.begin() + i);
file.erase(file.begin() + i);
file.erase(file.begin() + i);
file.erase(file.begin() + i);
file.erase(file.begin() + i);
std::cout << "Success, contact deleted!"<< std::endl;
i = 0;
}
}
Could I use the following code to manufacture my code in a better, less repetitive, way?
for(int remaining = 6; remaining > 0 && itr != file.end(); itr++, remaining--) {