You're displaying menu in every single one cases, why not rearrange the code a bit:
Code:
void doModify()
{
clrscr();
char inputv, input1, input2;
cout << " " << endl;
cout << " --- MODIFY VIDEO MENU ---- " << endl;
cout << " Would you like to modify a video (y/n)?: ";
cin >> inputv;
if (inputv == 'y' || inputv == 'Y')
{
clrscr();
int item1, location1, location2;
char item2[20];
cout << " " << endl;
cout << " -- Current Record -- " << endl;
cout << " What is the Video Number?: ";
cin >> item1;
location1 = searchNum(videoLib, numElements, item1);
if (location1 == -1)
{
clrscr();
cout << " " << endl;
cout << " Invaild Input" <<endl;
cout << " Press any key to exit ....";
input1 = getch();
}
else
{
cout << " What is the Video Name?: ";
cin >> item2;
location2 = searchName(videoLib, numElements, item2);
if (location2 == -1)
{
clrscr();
cout << " " << endl;
cout << " Invaild Input" <<endl;
cout << " Press any key to exit ....";
input2 = getch();
}
else
{
cout << " " << endl;
cout << " -- New Record -- " << endl;
cout << " What is the Video Number?: ";
cin >> videoLib[location1].videoNum;
cout << " What is the Video Name?: ";
cin.getline(videoLib[location2].videoName, 30);
cin.ignore();
}
}
displayMenu();
}
else if (inputv == 'n' || inputv == 'N')
displayMenu();
}
In your version it's the same flow you're getting, here theres only one place where you have to concentrate on showing the menu, much more friendly for later maintanence..