Не пойму где ошибка с постоянным числом код работает с введенным с клавиатуры нет - C#
Формулировка задачи:
само задание таково: Переменная flag возвращает значение истина, если:Целая часть x – четное число, и либо x∈[−13;5)U(20;70], либо модуль его дроб-
ной части меньше 0.5.
постоянная переменная закоментирована если ее раскоментировать и убрать ввод с клавиатуры все условия выполняються правельно но при попытке сделать ввод любого числа с клавиатуры он начинает считать непонятные числа и возможно у меня куча лишних действий и не правельное понимание использования true и false но тем не менее код все равно должен попадать в условия
class Program
{
static void Main(string[] args)
{
bool o = true;
bool p = false;
double a;
Console.WriteLine("Введите число");
a = Convert.ToDouble(Console.Read());
//double a = 3.6;
if (a >= -13 & a < 5)
Console.WriteLine("попадает в диапазон" + o);
else
Console.WriteLine("не попадает в диапазон" + p);
if (a > 20 & a <= 70)
Console.WriteLine("попадает в диапазон" + o);
else
Console.WriteLine("не попадает в диапазон" + p);
double e;
e = Math.Floor(a);
Console.WriteLine("Целая часть A {0}", Math.Floor(e));
if (e % 2 == 0)
Console.WriteLine("целая часть четная" + o);
else
Console.WriteLine("целая часть не четная" + p);
double r;
r = a - Math.Floor(a);
if (r < 0.5)
Console.WriteLine("дробная часть меньше 0.5" + o);
else
Console.WriteLine("дробная часть больше 0.5" + p);
Console.ReadKey();Решение задачи: «Не пойму где ошибка с постоянным числом код работает с введенным с клавиатуры нет»
textual
Листинг программы
bool o = true;
bool p = false;
double a;
Console.WriteLine("Введите число");
a = Convert.ToDouble(Console.ReadLine());
//double a = 3.6;
if (a >= -13 & a < 5)
Console.WriteLine("попадает в диапазон" + o);
else
Console.WriteLine("не попадает в диапазон" + p);
if (a > 20 & a <= 70)
Console.WriteLine("попадает в диапазон" + o);
else
Console.WriteLine("не попадает в диапазон" + p);
double e;
e = Math.Floor(a);
Console.WriteLine("Целая часть A {0}", Math.Floor(e));
if (e % 2 == 0)
Console.WriteLine("целая часть четная" + o);
else
Console.WriteLine("целая часть не четная" + p);
double r;
r = a - Math.Floor(a);
if (r < 0.5)
Console.WriteLine("дробная часть меньше 0.5" + o);
else
Console.WriteLine("дробная часть больше 0.5" + p);
Console.ReadKey();
}
}
}