Почему сравнение с символом пробела не работает?
cin считывает символы до первого пробельного символа, читайте при помощи cin.getline.
Или можете попробовать отключить пропуск пробелов
std::cin.unsetf(ios::skipws);