所以我一直在学习C++,并且正在研究猴子,看猴子做程序,我设法使第一个输入正常工作,但是第二个输入却直接跳过了它,我不知道为什么会得到任何帮助。
#include <iostream>
#include <string>
using namespace std;
char monkey_1;
char monkey_2;
int msmd()
{
cout << "monkey one:"; cout << endl;
cin >> monkey_1;
system("cls");
cout << "monkey two:"; cout << endl;
cin.clear();
cin >> monkey_2;
cout << "waiting"; cout << endl;
if (monkey_1 == monkey_2)
{
cout << "both monkeys are happy."; cout << endl;
}
else
{
cout << "the monkeys are upest."; cout << endl;
}
return 0;
}
void main()
{
msmd();
}
最佳答案
您是否打算仅从输入中获取单个字符,因为猴子的类型为char
?如果不是,请将其更改为string
,否则每个cin
仅分配一个字符。
如果要输入句子,则cin
也会在空格上分开,因此,如果输入“其他”,则第一个cin
将something
分配给monkey_1,第二个cin
将自动将else
分配给monkey_2。
为了解决这个问题,您可以使用getLine(cin,monkey_x)
。
关于c++ - C++不等待输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65030337/