Ввод времени и разбивка на часы, минуты, секунды - C#
Формулировка задачи:
Всем доброго дня суток.
Задача: Описать подпрограмму IncTime (H, M, S, T), которая увеличивает на T секунд время, заданное в часах H, минутах M и секундах S (H, M и S - входные и выходные параметры, T - входной параметр; все параметры - целые положительные). Дано время (в часах H, минутах M, секундах S) и целое число T. Используя подпрограмму IncTime, увеличить настоящее время на T секунд и вывести новые значения H, M, S.
Мое решение:
Мои замечания к моему коду: Мы прописываем число T (секунды), и когда мы вводим например 60, это число вписывается в поле секунды 60, это у меня вышло, но если мы вводим например 124, оно вписывается полностью в 124 секунды, а должно было 2 минуты 4 секунды. Еще пример вводим 3678 должно выйти 1 час 1 минута 18 секунд. Как это реализовать?
Листинг программы
- 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;
- }
- }
Решение задачи: «Ввод времени и разбивка на часы, минуты, секунды»
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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д