예제 #1
0
        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нчились");
        }
예제 #2
0
        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();
        }
예제 #3
0
 public int Difference(MyTime mt1, MyTime mt2)
 {
     return(TimeSinceMidnight(mt1) - TimeSinceMidnight(mt2));
 }
예제 #4
0
 public MyTime AddSeconds(MyTime t, int s)
 {
     return(TimeSinceMidnight(TimeSinceMidnight(t) + s));
 }
예제 #5
0
 public MyTime AddOneSecond(MyTime t)
 {
     return(TimeSinceMidnight(TimeSinceMidnight(t) + 1));
 }
예제 #6
0
 public MyTime AddOneHour(MyTime t)
 {
     return(TimeSinceMidnight(TimeSinceMidnight(t) + 3600));
 }
예제 #7
0
 public MyTime AddOneMinute(MyTime t)
 {
     return(TimeSinceMidnight(TimeSinceMidnight(t) + 60));
 }
예제 #8
0
 public int TimeSinceMidnight(MyTime t)
 {
     return(t.hour * 3600 + t.minute * 60 + t.second);
 }