Составить описание класса для представления даты, разбор кода - C#

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

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

Составить описание класса для представления даты. Предусмотреть возможности допустимости вводимых значений. В случае недопустимых значений полей выбрасываются исключения. Создать методы изменения даты на заданное количество дней, месяцев и лет. Написать программу, демонстрирующую все разработанные элементы класса. Вот программа, но я не уверен сделана ли она правильно, а если и правильно, то как она работает? Ввожу любые значения и просто выбрасывает из программы, заранее извиняюсь, плохо разбираюсь в си шарпе, помогите пожалуйста.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace ConsoleApplication1
  6. {
  7. class Dat
  8. {
  9. int iDay;
  10. int iMonth;
  11. int iYear;
  12. static int[] DayOfMonth = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
  13. public Dat(int Day, int Month, int Year)
  14. {
  15. iDay = Day;
  16. iMonth = Month;
  17. iYear = Year;
  18. CheckOfDate();
  19. }
  20. public void ChangeDay(int d)
  21. {
  22. iDay += d;
  23. CheckOfDate();
  24. }
  25. public void ChangeMonth(int m)
  26. {
  27. iMonth += m;
  28. CheckOfDate();
  29. }
  30. public void ChangeYear(int y)
  31. {
  32. iYear += y;
  33. CheckOfDate();
  34. }
  35. void CheckOfDate()
  36. {
  37. try
  38. {
  39. if (iYear < 0)
  40. {
  41. throw (new SystemException());
  42. }
  43. if ((iMonth < 1) || (iMonth > 12))
  44. {
  45. throw (new SystemException());
  46. }
  47. if ((iDay < 0) || (iDay > DayOfMonth[iMonth - 1]))
  48. {
  49. throw (new SystemException());
  50. }
  51. }
  52. catch (SystemException)
  53. {
  54. Console.WriteLine("Неправильная дата");
  55. }
  56. }
  57. }
  58. class Program
  59. {
  60. static void Main(string[] args)
  61. {
  62. Dat d = new Dat(27, 7, 123);
  63. d.ChangeDay(-3);
  64. d.ChangeMonth(2);
  65. d.ChangeYear(777);
  66. Console.ReadLine();
  67. }
  68. }
  69. }

Решение задачи: «Составить описание класса для представления даты, разбор кода»

textual
Листинг программы
  1. Console.WriteLine(d.ShowDate());

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


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

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

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы