Ввод времени и разбивка на часы, минуты, секунды - 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;