Написать функцию которая получает два параметра – плановое и фактическое время прибытия поезда в формате часы:минуты - C#
Формулировка задачи:
Предложите свое решение микрозадачи :
написать функцию которая получает два параметра – плановое время прибытия поезда в формате часы:минуты, фактическое время прибытия поезда в формате часы:минуты, а возвращает в качестве результата одну из строк: «Прибытие вовремя», «Опоздание на N минут», «Опережение на N минут», где N – кол-во минут опережения/опоздания.
Вот, мой вариант:
public static string IncomingTrain(string scheduledTime, string actualTime)
{
try
{
TimeSpan scheduled = TimeSpan.Parse(scheduledTime);
TimeSpan actual = TimeSpan.Parse(actualTime);
int countHours = (scheduled - actual).Hours;
int countMinutes = (scheduled - actual).Minutes + countHours * 60;
if (countMinutes == 0) return "Прибытие вовремя";
if (countMinutes < 0) return "Опоздание на " + Math.Abs(countMinutes) + " минут";
else return "Опережение на " + countMinutes + " минут";
}
catch (Exception e)
{
MessageBox.Show(e.Message);
return null;
}
}Решение задачи: «Написать функцию которая получает два параметра – плановое и фактическое время прибытия поезда в формате часы:минуты»
textual
Листинг программы
public static string IncomingTrain(string scheduledTime, string actualTime)
{
try
{
DateTime dt1 = Convert.ToDateTime(scheduledTime);
DateTime dt2 = Convert.ToDateTime(actualTime);
if (dt1 == dt2)
{
return "Прибытие вовремя";
}
TimeSpan ts = dt2 - dt1;
double minutes=ts.TotalMinutes;
if (minutes < 0)
{
return "Опережение на " + minutes + " минут";
}
else{
return "Опоздание на " + minutes + " минут";
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
return null;
}
}