Составить описание класса для представления даты - C# (192004)
Формулировка задачи:
Составить описание класса для представления даты. Предусмотреть возможности установки даты (год, месяц, день) с проверкой допустимости вводимых значений. Обеспечить перегрузку операции декремента (из даты вычитается 1 день). Написать программу, демонстрирующую все разработанные элементы класса.
Решение задачи: «Составить описание класса для представления даты»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace lb_12
{
class date
{
public static int[] months = new int[12] { 31,28,31,30,31,30,31,31,30,31,30,31};
private int M,D,Y;//поля
public int y
{
set { Y = value; }
get { return Y; }
}
public int m// свойство
{
get { return M; }
set { if (value < 13 && value > 0) {M = value;} else Console.WriteLine("Error!"); }
}
public int d
{
get { return D; }
set
{
if (value <= months[m]) { D = value; } else Console.WriteLine("Error!");
}
}
public static int operator -(date d1)
{
?????????????
}
class Program
{
static void Main(string[] args)
{
date dd1 = new date();
Console.Write("Введите год: ");
dd1.y = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите месяц: ");
dd1.m = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите день: ");
dd1.d = Convert.ToInt32(Console.ReadLine());
date dd2 = new date();
Console.Write("Введите год: ");
dd2.y =Convert.ToInt32(Console.ReadLine());
Console.Write("Введите месяц: ");
dd2.m =Convert.ToInt32(Console.ReadLine());
Console.Write("Введите день: ");
dd2.d = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(dd1-dd2);
}
}
}