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