“IF”循环中的C++循环错误

“IF”循环中的C++循环错误,c++,C++,我的代码生成了一个异常 X = x * 10; Y = y * 10; if ((pow(X, 2))+(pow(Y, 2)) <= 27225 and ((pow(X, 2))+(pow(Y, 2)) >= 1225)) 但是,我根本无法让代码工作,因为没有施加限制,即使值太大/太小,它也会继续正常运行,有人能告诉我我做错了什么吗?谢谢我认为您的第一个if条件应该是检查它是否大于1225且小于27225: if ((pow(X, 2))+(pow(Y, 2)) <= 27

我的代码生成了一个异常

X = x * 10;
Y = y * 10;

if ((pow(X, 2))+(pow(Y, 2)) <= 27225 and ((pow(X, 2))+(pow(Y, 2)) >= 1225))
但是,我根本无法让代码工作,因为没有施加限制,即使值太大/太小,它也会继续正常运行,有人能告诉我我做错了什么吗?谢谢

我认为您的第一个if条件应该是检查它是否大于1225且小于27225:

if ((pow(X, 2))+(pow(Y, 2)) <= 27225 && ((pow(X, 2))+(pow(Y, 2)) >= 1225))
//                              Here ^^

注意,or和不常用,因为它们是| |和&&的替代标记。我建议坚持使用| |和&&以与大多数其他开发人员保持一致。

从您的编码来看,您似乎没有定义X,Y的数据类型。 而不是

X = x * 10;
Y = y * 10;
相反,试试看

 int X = x * 10;
 intY = y * 10;


if (((pow(X, 2))+(pow(Y, 2)) > 27225)) {
  cout<<"\n\nThe values you have chosen for the centre points are to not  compatible   with our program. Please choose smaller values.";//new
}
else if( ((pow(X, 2))+(pow(Y, 2)) <1225))
{
        cout<<"\n\nIf you do not understand, please ask the programmer for further  explanation.";
}

这会给你两个不同的结果,正如预期的那样

你不能让它工作,或者你不能让它编译?这条错误消息让我大吃一惊。哈哈,库图姆。。。在第二位代码中,powX,2+powY,2如何同时大于27225和小于1225?如果总和为27226,则表示为真&假,表示为假;如果总和为1224,则表示为假&真,表示为假。换句话说,这个if永远不会触发。你是不是想用| |而不是&?是的,很抱歉,这太愚蠢了。尝试使用“if-else”函数来修复整个代码。ThanksOkay,如果值太大,则输入“and”会使程序重新启动,但它不会显示我希望第二个“if”函数显示的消息。如果值太小/太大,程序将执行不同的操作,有什么想法吗?是的,我知道“或”和“和”,但我的XCode版本不接受| |或&&所以我不得不凑合。你能详细介绍一下如何不推荐“或”和“和”吗?谁干的?为什么?亚伯拉罕:这纯粹是美学问题,与这个问题无关。我从未听说过C++创建者或程序员建议使用或不使用替代令牌,除了你和Sfabable在这个答案。@亚伯拉罕:没有理由提出反对他们。它们只是语法上的糖。他们甚至没有遭到反对,如果他们愿意,委员会完全可以这样做。它们本质上是不相关的。@Abraham所以,既然你从未见过它们,那就意味着它们不合适?你最好在这里展示一些严肃的信条,因为我现在没有什么印象。好吧……但如果数字兼容,我会继续运行代码和计算。如果没有,程序将显示错误消息。如果我输入你的代码,这不意味着程序将永远不会继续运行,因为只有两个函数,都显示错误消息?但是条件不同。第一个在结果>27225时运行,第二个在结果为再次感谢时运行,将试一试
X = x * 10;
Y = y * 10;
 int X = x * 10;
 intY = y * 10;


if (((pow(X, 2))+(pow(Y, 2)) > 27225)) {
  cout<<"\n\nThe values you have chosen for the centre points are to not  compatible   with our program. Please choose smaller values.";//new
}
else if( ((pow(X, 2))+(pow(Y, 2)) <1225))
{
        cout<<"\n\nIf you do not understand, please ask the programmer for further  explanation.";
}