You ran into the exact problem that Daved described.
Change:
Code:
cout << "\nEnter B for book or R for recording: " << endl;
cin >> holdingChoice;
to:
Code:
cout << "\nEnter B for book or R for recording: " << endl;
cin >> holdingChoice;
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
You should #include <limits> too. The reason for this is that your cin >> holdingChoice leaves a newline in the buffer, and you need to ignore this otherwise your cin.getline() call will read until this newline, instead of the next.