Создать класс - время с полями: час (0-23), минуты (0-59), секунды (0-59) - C#
Формулировка задачи:
Доброго времени суток уважаемые... Есть задача: Нужно создать класс - время с полями: час (0-23), минуты (0-59), секунды (0-59). Класс должен иметь конструктор. Также должны присутствовать методы установки и получения часа, минуты, секунды, а также метод вывода времени на экран. Вывод времени форматируется шаблоном. Например, hh/mm/ss или h:m:ss. Также необходимо проверять корректность устанавливаемого времени.
____________________________________________________________ _________
Так вот к делу: я конечно же не прошу вас написать для меня программу, прошу лишь совета, у кого есть идеи, как вообще это можно реализовать.. Или может кто-то сможет скинуть похожую программу, было бы конечно изумительно..... Помогите (:
Решение задачи: «Создать класс - время с полями: час (0-23), минуты (0-59), секунды (0-59)»
textual
Листинг программы
using System;
namespace Time
{
class WrongTimeDataException : Exception
{
}
public class Time
{
private byte hours;
private byte minutes;
private byte seconds;
public Time(byte hours, byte minutes, byte seconds)
{
if ((hours > 23 || hours < 0) || (minutes > 59 || minutes < 0) || (seconds > 59 || seconds < 0))
{
throw new WrongTimeDataException();
}
this.hours = hours;
this.minutes = minutes;
this.seconds = seconds;
}
public Time() : this(0, 0, 0) { }
public void SetHours(byte value)
{
if (value > 23 || value < 0)
{
throw new WrongTimeDataException();
}
hours = value;
}
public double GetHours()
{
return hours;
}
public void SetMinutes(byte value)
{
if (value > 59 || value < 0)
{
throw new WrongTimeDataException();
}
minutes = value;
}
public double GetMinutes()
{
return minutes;
}
public void SetSeconds(byte value)
{
if (value > 59 || value < 0)
{
throw new WrongTimeDataException();
}
seconds = value;
}
public double GetSeconds()
{
return seconds;
}
public override string ToString()
{
return string.Format("{0}:{1}:{2}", hours, minutes, seconds);
}
}
class Program
{
static void Main(string[] args)
{
try
{
Time t1 = new Time(12, 30, 55);
Console.WriteLine(t1);
Console.WriteLine("hours: {0}", t1.GetHours());
Console.WriteLine("minutes: {0}", t1.GetMinutes());
Console.WriteLine("seconds: {0}", t1.GetSeconds());
Time t2 = new Time ();
Console.Write("input hours:");
t2.SetHours(Byte.Parse(Console.ReadLine()));
Console.Write("input minutes:");
t2.SetMinutes(Byte.Parse(Console.ReadLine()));
Console.Write("input seconds:");
t2.SetSeconds(Byte.Parse(Console.ReadLine()));
Console.WriteLine("you set time {0}" ,t2);
Console.WriteLine("let's set time 12:30:61");
Time t3 = new Time(12, 30, 61);
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
}
}
}
}