public string WhatLesson(MyTime mt) { MyTime F_les = new MyTime(8, 0, 0); if (Difference(mt, F_les) <= 0) { return("Пари ще не почались"); } int[] breaksLengthsMinutes = { 20, 20, 20, 20, 10, 0 }; //int whatLes = 1; for (int lessNumb = 0; lessNumb < breaksLengthsMinutes.Length; lessNumb++) { F_les = AddSeconds(F_les, 80 * 60); //час однієї пари if (Difference(mt, F_les) < 0) { return(string.Format("Зараз {0}-а(я) пара", lessNumb + 1)); } F_les = AddSeconds(F_les, breaksLengthsMinutes[lessNumb] * 60); //час перерви (20 хвилин, після 5-ої пари - 10 хвилин) if (lessNumb == breaksLengthsMinutes.Length - 1) { break; } if (Difference(mt, F_les) <= 0) { return(string.Format("Зараз перерва мiж {0}-ю та {1}-ю парами", lessNumb + 1, lessNumb + 2)); } } return("Пари вже закiнчились"); }
static void Main(string[] args) { Random rnd = new Random(); //ГОЛОВНИЙ ЧАС Console.Write("Введiть через пробiл: години, хвилини та секунди(в форматi 24 години): "); string[] temp = Console.ReadLine().Split(' '); int h = Convert.ToInt32(temp[0]); int m = Convert.ToInt32(temp[1]); int s = Convert.ToInt32(temp[2]); MyTime t = new MyTime(h, m, s); Console.WriteLine("{0} - час (в секундах - {1})", t, t.TimeSinceMidnight(t)); Console.WriteLine("{0} - додає до часу одну секунду", t.AddOneSecond(t)); Console.WriteLine("{0} - додає до часу одну хвилину", t.AddOneMinute(t)); Console.WriteLine("{0} - додає до часу одну годину", t.AddOneHour(t)); Console.WriteLine("{0} - додає до часу рандомну кiлькiсть секунд", t.AddSeconds(t, rnd.Next(60))); Console.WriteLine(); //ПЕРШИЙ МОМЕНТ ЧАСУ Console.Write("Введiть через пробiл перший момент: години, хвилини та секунди(в форматi 24 години), для знаходження рiзницi двух моментiв: "); string[] temp1 = Console.ReadLine().Split(' '); int h1 = Convert.ToInt32(temp1[0]); int m1 = Convert.ToInt32(temp1[1]); int s1 = Convert.ToInt32(temp1[2]); MyTime mt1 = new MyTime(h1, m1, s1); //ДРУГИЙ МОМЕНТ ЧАСУ Console.Write("Введiть через пробiл другий момент: години, хвилини та секунди(в форматi 24 години), для знаходження рiзницi двух моментiв: "); string[] temp2 = Console.ReadLine().Split(' '); int h2 = Convert.ToInt32(temp2[0]); int m2 = Convert.ToInt32(temp2[1]); int s2 = Convert.ToInt32(temp2[2]); MyTime mt2 = new MyTime(h2, m2, s2); Console.WriteLine("Перший момент часу {0}; другий момент часу {1} ({2} - рiзниця мiж цими моментами)", mt1, mt2, t.TimeSinceMidnight(t.Difference(mt1, mt2))); Console.WriteLine(); Console.Write("Введiть через пробiл: години, хвилини та секунди(в форматi 24 години), щоб взнати розклад дзвінків: "); string[] temp3 = Console.ReadLine().Split(' '); int hourlesson = Convert.ToInt32(temp3[0]); int minuteslesson = Convert.ToInt32(temp3[1]); int secondslesson = Convert.ToInt32(temp3[2]); MyTime lesson = new MyTime(hourlesson, minuteslesson, secondslesson); Console.WriteLine("{0} - {1}", lesson, lesson.WhatLesson(lesson)); Console.ReadKey(); }
public int Difference(MyTime mt1, MyTime mt2) { return(TimeSinceMidnight(mt1) - TimeSinceMidnight(mt2)); }
public MyTime AddSeconds(MyTime t, int s) { return(TimeSinceMidnight(TimeSinceMidnight(t) + s)); }
public MyTime AddOneSecond(MyTime t) { return(TimeSinceMidnight(TimeSinceMidnight(t) + 1)); }
public MyTime AddOneHour(MyTime t) { return(TimeSinceMidnight(TimeSinceMidnight(t) + 3600)); }
public MyTime AddOneMinute(MyTime t) { return(TimeSinceMidnight(TimeSinceMidnight(t) + 60)); }
public int TimeSinceMidnight(MyTime t) { return(t.hour * 3600 + t.minute * 60 + t.second); }