OOP OPERATOR Cngay +- ++ --

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OOP_class__CNgay_operator_ngay_thang { // bây giờ mình sẽ tạo ra 1 class ngày nhe các bạn class Cngay { private int ngay, thang, nam; public Cngay()// khởi tạo mặc định nhé các bạn { ngay = 1; thang = 1; nam = 1; } public Cngay(int a, int b, int c)// khởi tạo có tham số nhé các bạn { ngay = a; thang = b; nam = c; } // hàm khởi tạo sao chép nhé các bạn public Cngay(Cngay a) { ngay = a.ngay; thang = a.thang; nam = a.nam; } public void xuat() { Console.Write("{0}/{1}/{2}",ngay,thang,nam); } // không cần hàm hủy nhé các bạn // toán tử gán bằng nhé các bạn // ồ chợt nhận ra là bên này có toán tử gán bằng lun rùi nhé các bận cac bạn ko cần phài cài đặt nữa nhé // so sánh ngày nhé các bạn public static bool operator >(Cngay a, Cngay b) { if (a.nam > b.nam) { return true; } else { if (a.thang > b.thang) { return true; } else{ if (a.ngay > b.ngay) { return true; } } } return false; } public static bool operator <(Cngay a, Cngay b) { if (a.nam < b.nam) { return true; } else { if (a.thang < b.thang) { return true; } else { if (a.ngay < b.ngay) { return true; } } } return false; } public static bool operator <=(Cngay a, Cngay b) { if (a.nam <= b.nam) { return true; } else { if (a.thang <= b.thang) { return true; } else { if (a.ngay <= b.ngay) { return true; } } } return false; } public static bool operator >=(Cngay a, Cngay b) { if (a.nam >= b.nam) { return true; } else { if (a.thang >= b.thang) { return true; } else { if (a.ngay >= b.ngay) { return true; } } } return false; } public static bool operator ==(Cngay a,Cngay b) { return (a.nam+a.thang+a.ngay)==(b.nam+b.thang+b.ngay); } public static bool operator!=(Cngay a, Cngay b) { return (a.nam + a.thang + a.ngay) != (b.nam + b.thang + b.ngay); } //Bây giờ ta qua cộng ngày lại với nhau nhé public static Cngay operator +(Cngay a, Cngay b) { int[] thangnam = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; if (a.nam % 4 == 0 && a.nam % 100 != 0 || a.nam % 400 == 0) { thangnam[1] = 29; } if (b.nam % 4 == 0 && b.nam % 100 != 0 || b.nam % 400 == 0) { thangnam[1] = 29; } Cngay c = new Cngay(); c.ngay = a.ngay + b.ngay; if (c.ngay > thangnam[a.thang - 1]) { c.ngay = c.ngay - thangnam[a.thang - 1]; a.thang += 1; if (a.thang > 12) { a.nam += 1; } } c.thang = a.thang + b.thang; if (c.thang > 12) { c.thang -= 12; if (c.thang == 12) { c.thang = 1; } a.nam += 1; } c.nam = a.nam + b.nam; return c; } // qua Phần trừ ngày tháng nam nhé các bạn public static Cngay operator -(Cngay a, Cngay b) { Cngay c = new Cngay(); c.ngay = a.ngay - b.ngay; if (c.ngay < 1) { a.thang -=1; if (a.thang ==0) { a.thang = 12; } } c.thang = (a.thang - b.thang); if (c.thang < 1) { c.thang = (12 + a.thang - b.thang); a.nam -= 1; } c.nam = a.nam - b.nam; return c; } // bây giờ ta qua cái ++ và -- nhé các bạn public static Cngay operator ++(Cngay a) { Cngay b = new Cngay(1, 0, 0); a = a + b; return a; } public static Cngay operator --(Cngay a) { Cngay b = new Cngay(1, 0, 0); a = a - b; return a; } } class Program { static void Main(string[] args) { // thử nhé các bạn //So sánh Cngay a=new Cngay(31,8,2013); Cngay b=new Cngay(3,9,3); // if(a>b) // { //Console.Write(" Ngay a>b"); // } // else // { // Console.Write(" Ngay b>a"); // } a= b--; a.xuat(); Console.Write(" "); b.xuat(); Console.ReadKey(); } } }

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.