While循环永不结束消息

While loop never ending message

本文关键字:结束 消息 循环 While      更新时间:2023-10-16

如果输入是double,我想测试它,但如果输入不是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;
}

您需要使用cin.ignore(1000, 'n');来清除输入。您还需要使用cin.clear();来删除"失败"位,以便下一次输入能够成功。