- Code:
- public class CDate
{
private int year, month, day;
//Property get, set
public int Year
{
get { return year; }
set
{
if (value >= 1) year = value;
else year = 1;
}
}
public int Month
{
get { return month; }
set
{
if (value >= 1 && value <= 12) month = value;
else month = 1;
}
}
public int Day
{
get { return day; }
set
{
if(month == 2)
{
if (year % 4 == 0 && year % 100 != 0 && year % 400 == 0)
{
if (value >= 1 && value <= 29) day = value;
else day = 1;
}
else
{
if (value >= 1 && value <= 28) day = value;
else day = 1;
}
}
else if(month == 4 || month == 6 || month == 9 || month == 11)
{
if (value >= 1 && value <=30) day = value;
else day = 1;
}
else
{
if (value >= 1 && value <=31) day = value;
else day = 1;
}
}
}
public void Export()
{
Console.WriteLine("ngay {0} thang {1} nam {2}", day, month, year);
}
//Phương thức thiết lập (constructors)
public CDate()
{
year = 0;
month = 0;
day = 0;
}
public CDate(int iyear, int imonth, int iday)
{
Year = iyear;
Month = imonth;
Day = iday;
}
public CDate(CDate cd)
{
cd.year = year;
cd.month = month;
cd.day = day;
}
//Các phương thức xử lý tính toán
public CDate AddYear(int numyear)
{
CDate kq = new CDate();
kq.year = year + numyear;
kq.month = month;
kq.day = day;
return kq;
}
public CDate AddMonth(int nummonth)
{
CDate kq = new CDate();
month = month + nummonth;
if (month > 12)
{
year = year + month/12;
month = month % 12;
}
kq.year = year;
kq.month = month;
kq.day = day;
return kq;
}
public CDate AddDay(int numday)
{
CDate kq = new CDate();
day = day + numday;
if (month == 2)
{
if (year % 4 == 0 && year % 100 != 0 && year % 400 == 0)
{
if (day > 29)
{
month = month + 1;
day = day - 29;
}
}
else
{
if (day > 28)
{
month = month + 1;
day = day - 28;
}
}
}
else if (month == 4 || month == 6 || month == 9 || month == 11)
{
if (day > 30)
{
month = month + 1;
day = day - 30;
}
}
else
{
if (day > 31)
{
month = month + 1;
day = day - 31;
}
}
if (month > 12)
{
year = year + month / 12;
month = month % 12;
}
kq.year = year;
kq.month = month;
kq.day = day;
return kq;
}
//Các phép toán
}
Lớp main
- Code:
- class Program
{
static void Main(string[] args)
{
CDate cd1 = new CDate();
Console.WriteLine("<== Nhap CDate 01 ==>");
Console.Write("Nhap nam: ");
cd1.Year = int.Parse(Console.ReadLine());
Console.Write("Nhap thang: ");
cd1.Month = int.Parse(Console.ReadLine());
Console.Write("Nhap ngay: ");
cd1.Day = int.Parse(Console.ReadLine());
Console.WriteLine("<== Xuat CDate 01 ==>");
cd1.Export();
CDate kq = new CDate();
Console.Write("Nhap so nam can them: ");
int numYear = int.Parse(Console.ReadLine());
kq = cd1.AddDay(numYear);
kq.Export();
Console.ReadLine();
}
}
Mọi người copy nhớ chỉnh sửa nhé, bài giải demo theo ý tưởng cá nhân nên không đảm bảo độ chính xác đâu nha....