我有一个我一直在做的个人项目。为了工作,它需要(相对)从用户那里接受大量数据,以 12 个用户的四种不同数据的形式。因此,我有相当长的一系列类似这样的语句:
cout << '\n' << "Monster A's name is: ";
cin >> nameA;
cout << '\n' << "Monster A rolled: ";
cin >> rollM_A;
cout << '\n' << "Monster A's Dex is: ";
cin >> DexA;
cout << '\n' << "Monster A's Mod is: ";
cin >> ModA;
cout << '\n' << "Monster A's Level is: ";
cin >> LvlA;
等等
然而,有时可能只需要输入少于 12 个怪物的数据,例如 5-6 甚至 1-2。我希望能够使用命令将输入部分跳过到基于击键之类的代码的其余部分。即如果用户输入了 5 个怪物的数据,而这就是他们所需要的,他们可以点击反斜杠来跳过输入序列的其余部分。
我在说什么有意义/是否有一个 STL 命令来做我正在寻找的东西?目前,这个过程没有循环,但是如果它在循环中退出它会更容易吗?我确实想过尝试这样的事情:
while(cin.get() != '\') {
cout << '\n' << "Monster A's name is: ";
cin >> nameA;
//etc...
}
编辑:上述尝试构建,但在输入所需的击键后,它会快速且无休止地打印用户提示而不接受数据。有什么建议吗?我想要的只是让它破裂并继续前进。我可以有效地使用 switch 语句吗?
谢谢!