Please post the entire program. There is probably some other stdin operation that you didn't post. We can only guess as to what the problem is but it sounds like it is one of those asked and answered about a million times questions. The below example is using cin but you get the same problem if you use cin for an integral value followed by getline for a string. There are certain types of input operations that leave a '\n' in the input stream which causes the next getline to read a blank line.
I don't know whether kempofighter has exposed his e-mail address on his property page, but regardless of that I think you should prefer to attach the .cpp file to a post, what you can do unless it's larger than 97.7 kB.
I was thrown out of college for cheating on the metaphysics exam; I looked into the soul of the boy sitting next to me.
This is a snakeskin jacket! And for me it's a symbol of my individuality, and my belief... in personal freedom.
The bottom line is that anytime you use operator>> you have to clear up the input stream when you are finished, otherwise you will experience unexpected behavior in other parts of the program. You should also read other parts of that FAQ on error checking. If you are properly reading from the input stream and handling errors in each and every case this problem shouldn't occur.
You don't have to post the whole thing. Simply create a small example that demonstrates the problem. During that process you may discover the problem for yourself. If not, post the example. That is the best way to use these forums. Search forum for similar problem, duplicate with small example, and then post example plus question.