Не пойму где ошибка с постоянным числом код работает с введенным с клавиатуры нет - C#

Узнай цену своей работы

Формулировка задачи:

само задание таково: Переменная flag возвращает значение истина, если:Целая часть x – четное число, и либо x∈[−13;5)U(20;70], либо модуль его дроб- ной части меньше 0.5.
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();
постоянная переменная закоментирована если ее раскоментировать и убрать ввод с клавиатуры все условия выполняються правельно но при попытке сделать ввод любого числа с клавиатуры он начинает считать непонятные числа и возможно у меня куча лишних действий и не правельное понимание использования true и false но тем не менее код все равно должен попадать в условия

Решение задачи: «Не пойму где ошибка с постоянным числом код работает с введенным с клавиатуры нет»

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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.7 из 5
Похожие ответы