The mixing of normal cin with getline() is a known complication. You can deal with it, though. There are hundreds of articles talking about the situation and its solutions. Try googling "skipped getline".