Как работать с DateTime через конструктор. Постоянные ошибки - C#

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

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

Написал программу для работы с датой. Она делает вычисление между двумя датами, вычитывает количество дней из даты, сравнивает даты и определят високосный год. Казалось бы все просто, но вот сделать её с помощью конструктора у меня не получается. Я не знаю, как работать с DateTime через конструктор. Постоянные ошибки. Времени читать уже нет - сдавать скоро преподу. Помогите сделать её через конструктор. Вот программа:
//вычисление даты 2 из даты 1:
            int y1, m1, d1, y2, m2, d2, y3, m3, d3, countday;
            Console.Write("Вычисляем кол-во дней между двумя датами\n");
            Console.Write("Дата 1, введите год: ");
            y1 = Convert.ToInt32(Console.ReadLine());
            Console.Write("Дата 1, введите месяц: ");
            m1 = Convert.ToInt32(Console.ReadLine());
            Console.Write("Дата 1, введите день: ");
            d1 = Convert.ToInt32(Console.ReadLine());
            Console.Write("Дата 2, введите год: ");
            y2 = Convert.ToInt32(Console.ReadLine());
            Console.Write("Дата 2, введите месяц: ");
            m2 = Convert.ToInt32(Console.ReadLine());
            Console.Write("Дата 2, введите день: ");
            d2 = Convert.ToInt32(Console.ReadLine());
            DateTime date1 = new DateTime(y1, m1, d1);
            DateTime date2 = new DateTime(y2, m2, d2);
            Console.WriteLine(date1 - date2);
            //прибавить колличество дней к дате 1:
            Console.WriteLine("Прибавляем к дате {0} следуюющее число: ", date1);
            countday = Convert.ToInt32(Console.ReadLine());
            DateTime z = date1.AddDays(countday);
            Console.WriteLine("{0} + {1} = {2}", date1, countday, z);
            //равенство двух дат
            Console.Write("Дату {0} сравниваем со следующей датой: \n", date1);
            Console.Write("введите год: ");
            y3 = Convert.ToInt32(Console.ReadLine());
            Console.Write("введите месяц: ");
            m3 = Convert.ToInt32(Console.ReadLine());
            Console.Write("введите день: ");
            d3 = Convert.ToInt32(Console.ReadLine());
            DateTime date3 = new DateTime(y3, m3, d3);
            for (int l = 1; l == 1; l++)
            {
                if (date1 < date3)
                { Console.WriteLine("{0} < {1}", date1, date3); break; }
                if (date1 > date3)
                { Console.WriteLine("{0} > {1}", date1, date3); break; }
                else
                    Console.WriteLine("{0} = {1}", date1, date3);
            }
            // Определяем високосный год ли год
            Console.WriteLine("Високосен ли {0} ??? ", y1);
            double ostatok;
            ostatok=y1%4;
            if (ostatok == 0)
                Console.WriteLine(y1 + " является високосным!!!");
            else
                Console.WriteLine(y1 + " является не високосным!!!");
Извиняйте за бредовые строки в коде. Писал один раз и больше не проверял. Мне важно сейчас сделать через конструктор её

Решение задачи: «Как работать с DateTime через конструктор. Постоянные ошибки»

textual
Листинг программы
static private DateTime CreateDate()
        {
            int y,m,d;
            DateTime dateTime;
            
            while(true)
                try
                {
                    Console.Write("Дата , введите год: ");
                    y = Convert.ToInt32(Console.ReadLine());
 
                    Console.Write("Дата , введите месяц: ");
                    m = Convert.ToInt32(Console.ReadLine());
 
                    Console.Write("Дата , введите день: ");
                    d = Convert.ToInt32(Console.ReadLine());
 
                    dateTime = new DateTime(y, m, d);
                    return dateTime;
                }
 
                catch (Exception)
                {
                    Console.WriteLine(" \nОшибка. Такая дата существовать не может  \n Повторите ввод\n");
                }
        }
 
        static void Main(string[] args)
        {
            DateTime date1 = CreateDate();
            DateTime date2 = CreateDate();
        }

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


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

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

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