Проверить корректность реализации класса - C#

Узнай цену своей работы

Формулировка задачи:

есть ли шанс на жизнь у данного класса? И если да то как теперь вывести все на форму?
 class date
    {
        public const int MonthInYear = 12;
 
        public const int DayInYear = 365;
 
        public const int DayInMonth = 31;
 
        public int Year { get;  set; }
        public int Month { get; set; }
        public int Day { get; set; }
 
        public date(int year, int month, int day)
        {
            Day = day;
            Month = month;
            Year = year;
        }
 
        public void Isk(int year, int month, int day)
        {
            if (day > 31 || day < 1)
            {
                throw new ArgumentException("Days must be at least between 1-31");
            }
            if (month > 12 || month < 1)
            {
                throw new ArgumentException("Month must be between 1-12");
            }
            if (year < 0)
            {
                throw new ArgumentException("Years must be positve");
            }
 
            Day = day;
            Month = month;
            Year = year;
        }
 
          // метод для добавления дня
        public void AddDay(int day)
        {
            int plusYear = day / DayInYear;
            day = day - plusYear * DayInYear;
            int plusMonth = day / DayInMonth;
            day = day - plusMonth * DayInMonth;
  
            switch (Month)
            {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
 
                    if (day + Day > 31)
                    {
                        
                        plusMonth++;     
                        day = day - (31 - Day);
                    }
                    else
                    {
                        day = Day + day;
                    }

                    if (Month + plusMonth > 12)
                    {
                        plusYear++;
                        Month = Month - (12 - plusMonth);
                    }
                    else
                    {
                        Month += plusMonth;
                    }
                    Year += plusYear;
                    Day = day;

                    break;
 
                case 4:
                case 6:
                case 9:
                case 11:
                    if (day + Day > 30)
                    {
                        plusMonth++;
                        day = day - (30 - Day);
                    }
                    else
                    {
                        day = Day + day;
                    }
                    Year += plusYear;
 
                    if (Month + plusMonth > 12)
                    {
                        plusYear++;
                        Month = Month - (12 - plusMonth);
                    }
                    else
                    {
                        Month += plusMonth;
                    }
                    Day = day;
                    break;
                   
                case 2:
 
                    if (VisYear(Year))
                    {
                        if (day + Day > 29)
                        {
                            plusMonth++;
                            day = day - (29 - Day);
                        }
                        else
                        {
                            day = Day + day;
                        }
                        Year += plusYear;
                        if (Month + plusMonth > 12)
                        {
                            plusYear++;
                            Month = Month - (12 - plusMonth);
                        }
                        else
                        {
                            Month += plusMonth;
                        }
                        Day = day;
                    }
                    else
                    {
                        if (day + Day > 28)
                        {
                            plusMonth++;
                            day = day - (28 - Day);
                        }
                        else
                        {
                            day = Day + day;
                        }
                        Year += plusYear;
                        if (Month + plusMonth > 12)
                        {
                            plusYear++;
                            Month = Month - (12 - plusMonth);
                        }
                        else
                        {
                            Month += plusMonth;
                        }
                        Day = day;
                    }
                    break;
 
            }
 
        }
        // метод для проверки на високосный год
        public bool VisYear(int year)
        {
            bool flag = false;
            if (year % 4 == 0)
                flag = true;
            else
                return flag;
            if (year % 100 == 0)
                if (year % 400 != 0)
                    flag = false;
            return flag;
        }
        // метод для изменения месяца
        public void AddMonth(int month)
        {
            int plusYear = month / MonthInYear;
            month = month - plusYear * MonthInYear;
 
            if (month + Month > 12)
            {
                plusYear++;
                month = month - (12 - Month);
            }
            else
            {
                month = Month + month;
            }
            Year += plusYear;
            Month = month;

        }
        // метод для изменения года
        public void AddYear(int year)
        {
            year = Year + year;
            Year = year;
 
        }
 
        }
    }

Решение задачи: «Проверить корректность реализации класса»

textual
Листинг программы
readonly Int32=365;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы