Программа работает только с определённым количеством переменных, с остальными - не выводит ответ пользователю
Есть задача: определить, попадает ли введённая координата в окружность заданного радиуса или же нет. При вводе ординаты >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)?