如果是double
,我想测试输入,但是如果输入不是double
,我写的要弹出的消息永远不会停止显示。虽然当我把双重变成字符串时,一切都还可以。请帮忙。我无法弄清楚我必须做什么。
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main(){
double x;
cout<<"Enter Number.\n";
while (!(cin>>x)){
cout<<"please only numbers.\n";
cin >>x;
}
return 0;
}
答案 0 :(得分:1)
您需要使用cin.ignore(1000, '\n');
清除输入。您还需要使用cin.clear();
删除&#34;失败&#34;位,以便下一个输入可以成功。