Проверить корректность реализации класса - 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д