我知道这个问题以前在这个网站上被问过一些,但我似乎不能掌握如何让它与我的特定程序一起工作。
本质上,我正在创建一个MadLibs类型的小游戏,玩家必须输入某些东西才能将其融入故事。现在,如果用户输入中没有空格,这种方法就可以很好地工作,但只要有人输入空格,程序就可以跳过整个问题。
以下是我的代码:
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; }
正如您可能想象的那样,大多数人会选择在空格中输入某人的全名(我肯定我会这样做)。如果他们在空白处输入,它就会跳过犯罪问题,直接转到形容词问题。
如果您能告诉我如何让它正确工作,那将是有益的,因为它一直让我感到有点压力,而我尝试的所有解决方案要么使问题变得更糟,要么对解决它毫无帮助。