Ввод времени и разбивка на часы, минуты, секунды - C#

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

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

Всем доброго дня суток. Задача: Описать подпрограмму IncTime (H, M, S, T), которая увеличивает на T секунд время, заданное в часах H, минутах M и секундах S (H, M и S - входные и выходные параметры, T - входной параметр; все параметры - целые положительные). Дано время (в часах H, минутах M, секундах S) и целое число T. Используя подпрограмму IncTime, увеличить настоящее время на T секунд и вывести новые значения H, M, S. Мое решение:
        private static void UseOutputParameters_8_out()
        {
            Console.WriteLine(
                "\n--- UseOutputParameters_8_out ---");
            Console.WriteLine(
                "Используя подпрограмму IncTime, увеличить настоящее время на T секунд и вывести новые значения H, M, S");
 
                    Console.WriteLine("\t Введите число T");
                    int T = EnterInt32("Число");
                    int H, M, S;
                    IncTime(T, out H, out M, out S);
                    Console.WriteLine("Часов: {0}, Минут {1} Секунд {2}", H, M, S);
        }

        public static void IncTime(int T, out int H, out int M, out int S)
        {
            H = 0;
            M = 0;
            S = 0;

           if (T % 3600==0)
           {
               H = (H + T) / 3600;
           }
           else if (T%60==0)
           {
               M = (M + T) / 60;
           }
           else if (T%1==0)
           {
               S = S + T;
           }
 
        }
Мои замечания к моему коду: Мы прописываем число T (секунды), и когда мы вводим например 60, это число вписывается в поле секунды 60, это у меня вышло, но если мы вводим например 124, оно вписывается полностью в 124 секунды, а должно было 2 минуты 4 секунды. Еще пример вводим 3678 должно выйти 1 час 1 минута 18 секунд. Как это реализовать?

Решение задачи: «Ввод времени и разбивка на часы, минуты, секунды»

textual
Листинг программы
if (T>=3600){
H = (T-(T%3600))/3600;
T = T - H*3600;
}
if (T>=60)
{
M = (T-(T%60))/60;
T = T - M*60;
}
S=T;

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

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