After reading about how to use getline I thought I was using it correctly, but apparently I am not. When I run this program it does not give me the opportunity to input an employee name at all. What am I doing wrong?
The reason is that using the std::cin with >> extracts all up to the first whitespace character, which it leaves in the stream. Successive calls will eat up the left over whitespace and discard it, but std::getline will end when whitespace is encountered. So, you should either do as @Yanson suggested and put std::cin.ignore() in front, which will eat up that newline character leftover from line 21.
Another thing to mention is that std::cin >> leaves a new line in the buffer and when you read with std::getline it reads until the newline. I would suggest using std::cin.ignore( std::numeric_limits<std::streamsize>::max() , '\n' ); to ignore anything that could possibly be left in the buffer. Say for example someone enters
10 asdf
if you don't ignore everything you will have junk read into getline.
[edit]or even if possible try not to mix and match them ( mainly with std::string's)[/edit]