編集:私が言ったように、私はこの質問が以前に尋ねられたことを知っていますが、解決策のどれも私のために働くようには見えませんでした。少なくとも、投稿を読んでからdownvotingしてみてください。std :: cinの読み込みスペースを作るにはどうすればいいですか?
私はこの質問が以前このサイトで少し尋ねられてきたことは知っていますが、私の特定のプログラムでうまく動作するようにする方法を理解できていないようです。本質的に、私は少しのMad Libsタイプのゲームを作成しています。プレイヤーはそれをストーリーに収めるために特定のものに入力しなければなりません。これは、ユーザの入力に空白がない場合でも、2番目の人がスペースにスローした場合、プログラムは質問全体をスキップできます。ここに私のコードは次のとおりです。
int main(){
int selection;
//News Report Variables
std::string nrfullname;
std::string nrcrime;
std::string nradjective;
std::string nrtown;
std::string nrpluralnoun;
std::string nrnounnotplace;
std::string nrverb;
std::string nradjective2;
std::string nrfullname2;
std::string nrnounnotplace2;
std::cout << "Welcome to Mad Libs! Please, pick a story!" << std::endl;
std::cout << "1. News Report" << std::endl;
std::cin >> selection;
if (selection == 1) {
std::cout << "We need a full name of someone." << std::endl;
std::cin << nrfullname;
std::cout << "We need a crime." << std::endl;
std::cin >> nrcrime;
std::cout << "We need an adjective." << std::endl;
std::cin >> nradjective;
std::cout << "We need a town." << std::endl;
std::cin >> nrtown;
std::cout << "We need a plural noun." << std::endl;
std::cin >> nrpluralnoun;
std::cout << "We need a noun that is NOT a place." << std::endl;
std::cin >> nrnounnotplace;
std::cout << "We need a verb." << std::endl;
std::cin >> nrverb;
std::cout << "We need another adjective." << std::endl;
std::cin >> nradjective2;
std::cout << "We need a full name of someone else." << std::endl;
std::cin >> nrfullname2;
std::cout << "We need another noun that is NOT a place." << std::endl;
std::cin >> nrnounnotplace2;
}
あなたは、おそらくほとんどの人はそれが誰かのフルネームを要求するスペースを置くことを選ぶだろう、想像できるように(私は確信して私が知っているでしょう)。ポイントは、もし彼らがそのスペースに入れると、それは「犯罪」の質問をスキップし、単に形容詞の質問に移ります。あなたが私にちょっとだけストレスを与えていて、私が試したソリューションのすべてが問題を悪化させたか、それを解決するのに何もしなかったので、これを正しく動作させる方法をあなたに教えてもらえれば有益でしょう。
おかげで、 MTS
あなたは 'std :: getline'が必要です... – LogicStuff
メモt hat 'std :: cin'は何も読みません。これは、コンソールへのインタフェースを提供するオブジェクトです。それは文字と値を読み取る**関数**です。 –