Вывести количество часов, оставшихся до конца дня - C#

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

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

Суть заключается в том, чтобы на экран выводилось колличество часов оставшихся до конца дня. Написал код но почему-то выводит по нулям подскажите как исправить. Основной код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication31
{
 
    public class DateTime// класс Часы
    { /// <summary>
        ///метод инициализации Init со значениями: часы, минуты, секунды.
        /// </summary>
        
        private int _seconds;
        private int _minutes;
        private int _hours;

        public static void Init(DateTime dt, int hours, int minutes, int seconds)
        {
            dt.Init(hours, minutes, seconds);// инициализация 
        }

        /// <summary>
        /// Секунды
        /// </summary>
        public int Seconds
        {
            get { return _seconds; }// Свойство для чтения 
            set
            {
                if (value < 0 || value >= 60)
                    throw new ArgumentOutOfRangeException("value");
 
                _seconds = value;
            }// Свойство для записи
        }
        /// <summary>
        /// Минуты
        /// </summary>
        public int Minutes 
        {
            get { return _minutes; }// Свойство для чтения 
            set
            {
                if (value < 0 || value >= 60)
                    throw new ArgumentOutOfRangeException("value");
 
                _minutes = value;
            }// Свойство для записи
        }
        /// <summary>
        /// Часы
        /// </summary>
        public int Hours
        {
            get { return _hours; }// Свойство для чтения 
            set
            {
                if (value < 0 || value >= 24)
                    throw new ArgumentOutOfRangeException("value");
 
                _hours = value;
            }// Метод для записи
        }
        /// <summary>
        /// Метод для вычисления колличества часов оставшихся до конца дня
        /// </summary>

        public int GetHours
        {
           get { return 24 - System.DateTime.Now.Hour;}// вычисление колличества часов оставшихся до конца дня
        }

        /// Метод инециализации
        /// </summary>
       public DateTime()
        {
            Init(0, 0, 0);
        }
        /// <summary>
        /// Метод инециализации
        /// </summary>
        public DateTime(int hours, int minutes, int seconds)
        {
            
            Init(hours, minutes, seconds);
        }
 
        /// <summary>
        /// Инициализация объекта DateTime
        /// </summary>
        /// <param name="hours">Часы</param>
        /// <param name="minutes">Минуты</param>
        /// <param name="seconds">Секунды</param>
        public void Init(int hours, int minutes, int seconds)
        {
            Hours = hours;
            Minutes = minutes;
            Seconds = seconds;
        }
 
        /// <summary>
        /// Сброс объекта DateTime
        /// </summary>
        public void Init()
        {
            Hours = 0;
            Minutes = 0;
            Seconds = 0;
        }
        /// <summary>
        /// Метод вывода значений времени
        /// </summary>
        public string ShowTime()
        {
 
            string result = string.Format("{0}:{1}:{2}", _hours, _minutes, _seconds);
            return result;
        }
    }
}
Класс реализующий вывод:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication31
{
    class program
    {
        static void Main(string[] args)
        {
 
            DateTime dt1 =  new DateTime();//Создание экземпляра класса

            Console.Write(dt1.ShowTime()); //Обращение к свойству для выведения времени
            
            Console.ReadKey();
           
        }
    }
}

Решение задачи: «Вывести количество часов, оставшихся до конца дня»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication30
{
    class Program
    {
        static void Main(string[] args)
        {
            TimeSpan dt = (DateTime.Today.AddDays(1) - DateTime.Now);
            Console.WriteLine(dt.Hours);
        }
    }
}

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


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

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

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