using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace ConsoleApplication19 { class Time { private int hours, minutes, seconds; public int Hours { get { return hours; } set { if (value < 0 || value > 24) { while (value > 24 || value < 0) { Console.WriteLine("Невено введены данные!Попробуйте еще раз."); value = int.Parse(Console.ReadLine()); } } hours = value; if (value == 24) { hours = 0; minutes = 0; } } } public int Minutes { get { return minutes; } set { if (minutes < 0 && minutes >60) { while (value > 60 || value < 0) { Console.WriteLine("Невено введены данные!Попробуйте еще раз."); value = int.Parse(Console.ReadLine()); } } minutes = value; if(minutes==60) { Hours+=1; Minutes=0;} } } public int Seconds { get { return seconds; } set { if (seconds < 0 && seconds > 60) { while (value > 60 || value < 0) { Console.WriteLine("Невено введены данные!Попробуйте еще раз."); value = int.Parse(Console.ReadLine()); } } seconds = value; if (seconds == 60) { Minutes += 1; Seconds = 0; } } } public Time(int hours, int min, int sec) { this.hours = hours; minutes = min; seconds = sec; } public Time add(int adds) { int SumSec, SecAdd; Time rez = new Time(0, 0, 0); SumSec = Seconds + Minutes * 60 + Hours * 3600; SecAdd = SumSec + adds; rez.Hours = SecAdd / 3600; rez.Minutes = (SecAdd - rez.Hours * 3600) / 60; rez.Seconds = SecAdd - rez.Hours * 3600 - rez.Minutes * 60; return rez; } public static Time operator +(Time t, int k) { t.Seconds += k; return t; } } class Program { static void Main(string[] args) { Time n = new Time(0, 0, 0); Console.WriteLine("Часов: "); n.Hours=int.Parse(Console.ReadLine()); Console.WriteLine("Минут: "); n.Minutes = int.Parse(Console.ReadLine()); Console.WriteLine("Секунд: "); n.Seconds = int.Parse(Console.ReadLine()); Console.WriteLine("{0} :{1}: {2}", n.Hours, n.Minutes, n.Seconds); Console.WriteLine("Сколько прибавить?"); int add = int.Parse(Console.ReadLine()); n = n.add(add); Console.WriteLine("После прибавления\n{0} :{1}: {2}", n.Hours, n.Minutes, n.Seconds); Console.ReadKey(); while (true) { Console.WriteLine("{0} :{1}: {2}", n.Hours, n.Minutes, n.Seconds); n = n + 1; Thread.Sleep(100); Console.Clear(); } Console.ReadKey(); } } }