I am having trouble implemting a function that I want to search a list and then replace a name in that list. What I have so far is so wrong at this point that I am lost on were to even start with correcting it...
Code:
void Controller::ReplaceName()
{
string find;
string replace;
int input;
cout << "Please enter the name you want to replace : " << flush;
cin >> find;
cout << endl << "Please enter the name you want to replace it with : " << flush;
cin >> replace;
list<Artist>::iterator iter ;
for(iter = myArtist.begin(); iter != myArtist.end(); iter++)
{
if ((*iter).getArtBandName() == find)
{
cout << "Would you like to replace" << (*iter).getArtBandName() << " with " << replace << endl;
cout << "Type 1 for Yes or 2 For No : " << flush;
cin >> input;
if (input == 1)
{
*iter = replace;
}
else if (input == 2)
{
cout << "Returning to Main Menu" << endl;
}
else
{
cout << "Invalid input : Returning to Main Menu" << endl;
}
}
}
}
It compiles but stops doing what I am asking it do at the seond if loop. From what I can tell my main areas of concern are my second nested if loop (can this even be done) and my the body of "if(input == 1).
Should I nest my if/else loop in a diffrent type of loop?
I am really confused on how I actually make the name change offical. Am I even on the correct track or should I just start from scratch?