Liên Thông CNTT K4

Cộng Đồng Liên Thông Công Nghệ Thông Tin Bình Thuận

Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share
 
 Giải BTVN - Bài tập 02
Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Exterminator


Exterminator
Giới tính : Nam
Posts Posts : 33
Thanked Thanked : 82
Giải BTVN - Bài tập 02 Empty

Lớp CDate
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....

※ Bài viết cùng chuyên mục


Tác giảThông điệp
Administrator
Administrator

avatar
Tuối : 33
Giới tính : Nam
Posts Posts : 40
Thanked Thanked : 23
Giải BTVN - Bài tập 02 Empty

Chú ý: Mọi người tìm đoạn 
Code:
        public CDate(CDate cd)[size=12][/size]
        {[size=12][/size]
            cd.year = year;[size=12][/size]
            cd.month = month;[size=12][/size]
            cd.day = day;[size=12][/size]
        }

Thay bằng đoạn này 
Code:
        public CDate(CDate cd)
        {
            year = cd.year;
            month = cd.month;
            day = cd.day;
        }

※ Bài viết cùng chuyên mục


https://lienthongcntt.forum-viet.com
 
Giải BTVN - Bài tập 02
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn Liên thông CNTT Bình Thuận :: Góc Học Tập :: Các môn học liên thông :: Lập trình Hướng đối tượng-
[Liên thông CNTT K4] Deverloped by Phạm Anh Dân - Rip by Nguyễn Gia Phú
Powered by © Forumotion.com - phpBB™ version ©phpBB2
Go to top Go to bottom