Программа работает только с определённым количеством переменных, с остальными - не выводит ответ пользователю

Есть задача: определить, попадает ли введённая координата в окружность заданного радиуса или же нет. При вводе ординаты >2 программа не выводит результат. В чём проблема?

#include <iostream>
#include <cmath>
using namespace std;
const float RADIUS = 1.5;
const float A = -0.2;
bool BelongsCircle(float, float);
int main()
{
float XPoint, YPoint;
cout<<"Введите кординаты X и Y"<<endl;
cin>>XPoint>>YPoint;
if (BelongsCircle(XPoint, YPoint))
 if (XPoint<=A)
  {
  cout<<"OK"<<endl;
  }
  else
  {
  cout<<"Missing"<< endl;
  }
  return 0;
  }
  bool BelongsCircle(float x,float y)
  {
  return x * x + y * y <= pow(RADIUS,2);
  } 


Ответы (1 шт):

Автор решения: Harry

Давайте просто добавим отступы в ваш код, что делает любой не совсем тупой редактор...

if (BelongsCircle(XPoint, YPoint))
    if (XPoint<=A)
    {
        cout<<"OK"<<endl;
    }
    else
    {
        cout<<"Missing"<< endl;
    }

Итак, что мы видим? что если BelongsCircle(XPoint, YPoint) истинно, то какой-то вывод будет (который зависит от XPoint). А если ложно — никакой ветви else не предусмотрено, ничего выведено не будет.

Зачем у вас вообще проверка if (XPoint<=A)?

→ Ссылка