@ OP: That's not a valid excuse if you're using C++. Trust me when I say that your instructor, no matter how stupid you might think they are, knows what the STL "get()" member function does. If it would make you feel better to have an excuse ready then tell them that you saw it when you were skimming through the text book and you thought it would work in this instance; it's bound to be somewhere in there.
C++ isn't english class, people are rarely going to have the same answers to a problem. Even though some answers are "more right" then others, the only thing that makes an answer wrong is if it does not work.
What they are trying to tell you is that you cannot get a string with cin>>ch because the stream stops at the first white space.
You need to use cin.get() or cin.getline() or in C++ getline(cin,s).
What you type after getline(cin,s) gets stuffed into string 's'. std::cout<<s; //prints the string.
There is no need to use a while loop........pressing enter ends the string and provides a new line with '\n' .
hope this helps.