gpt4 book ai didi

c++ - 如果我决定输入 (1 2) 而它要求 x 但如果我输入 (12) 工作正常,为什么我的输出会出错

转载 作者:行者123 更新时间:2023-11-30 04:43:16 24 4
gpt4 key购买 nike

所以对于我的代码,它要求用户为 x 输入一个数字,但我碰巧用手指粗了,我输入了 (1 2) 并在 1 和 2 之间留了一个空格,我的代码直接输出了我的 x 和你甚至认为它还没有要求 y 坐标。

#include <iostream>

using namespace std;

int main(){
double x, y;
cout << "Enter x coordinate: ";
cin >> x;
while (!cin.good() ) {
cout << "Invalid input" << endl;
cin.clear();
cin.ignore(INT_MAX, '\n');
cout << "Enter your x coordinate";
cin >> x;
}
cout << "Enter y coordinate: ";
cin >> y;
while(!cin.good()){
cout << "Invalid input" << endl;
cin.clear();
cin.ignore(INT_MAX, '\n');
cout << "Enter your y coordinate";
cin >> y;
}
cout << "You x coordinate is at: " << x << ", Your y coordinate is at: " << y ;
return 0;
}

最佳答案

使用 cin,您可以通过输入数据并按回车键或按空格分隔来获得输入数据,因此:

cin >> var;
cin >> var2;

可以通过输入 var1 的数据并按回车键然后输入 var2 的数据并按回车键来获取输入eather通过输入由空格分隔的 var1 和 var2 的数据,如果数据有效,它会接受它。

注意当数据 !cin.good() 时它会再次启动 cin

关于c++ - 如果我决定输入 (1 2) 而它要求 x 但如果我输入 (12) 工作正常,为什么我的输出会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58363534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com