Составить описание класса для представления даты, разбор кода - 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());

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


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

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

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