Составить описание класса для представления даты, разбор кода - C#
Формулировка задачи:
Составить описание класса для представления даты. Предусмотреть возможности допустимости вводимых значений. В случае недопустимых значений полей выбрасываются исключения. Создать методы изменения даты на заданное количество дней, месяцев и лет. Написать программу, демонстрирующую все разработанные элементы класса.
Вот программа, но я не уверен сделана ли она правильно, а если и правильно, то как она работает?
Ввожу любые значения и просто выбрасывает из программы, заранее извиняюсь, плохо разбираюсь в си шарпе, помогите пожалуйста.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Dat { int iDay; int iMonth; int iYear; static int[] DayOfMonth = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; public Dat(int Day, int Month, int Year) { iDay = Day; iMonth = Month; iYear = Year; CheckOfDate(); } public void ChangeDay(int d) { iDay += d; CheckOfDate(); } public void ChangeMonth(int m) { iMonth += m; CheckOfDate(); } public void ChangeYear(int y) { iYear += y; CheckOfDate(); } void CheckOfDate() { try { if (iYear < 0) { throw (new SystemException()); } if ((iMonth < 1) || (iMonth > 12)) { throw (new SystemException()); } if ((iDay < 0) || (iDay > DayOfMonth[iMonth - 1])) { throw (new SystemException()); } } catch (SystemException) { Console.WriteLine("Неправильная дата"); } } } class Program { static void Main(string[] args) { Dat d = new Dat(27, 7, 123); d.ChangeDay(-3); d.ChangeMonth(2); d.ChangeYear(777); Console.ReadLine(); } } }
Решение задачи: «Составить описание класса для представления даты, разбор кода»
textual
Листинг программы
Console.WriteLine(d.ShowDate());
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д