По введенной дате определить дату следующего дня - C#

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

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

. По введенной дате определить дату следующего дня. Указание. Известно, что дата состоит из дня, месяца и года. Например, для даты 19.10.86 следующим днем будет 20.10.86. Необходимо учесть число дней в месяце для перехода от одного месяца к следующему. Например: Текущий день Следующий день 31.12.1985 01.01.1986 29.04.1986 30.04.1986 30.04.1986 01.05.1986 28.02.1988 29.02.1988 28.02.1987 01.03.1987 в C#

Решение задачи: «По введенной дате определить дату следующего дня»

textual
Листинг программы
  1. using System;
  2.  
  3. namespace ConsoleApplication21 {
  4.     class Program {
  5.         static void Main(string[] args) {
  6.            
  7.             Console.Write("Укажите три целых числа: Y(год), M (месяц) и D (день), определяющие правильную дату.\n\tY (год) - ");
  8.             try {
  9.                 int y = int.Parse(Console.ReadLine());
  10.                 if(y<0) throw new ArgumentException("Год не может быть отрицательным");
  11.  
  12.                 Console.Write("\tM (месяц 1-12) - ");
  13.                 int m = int.Parse(Console.ReadLine());
  14.                 if (m < 1 || m > 12) throw new ArgumentException("Номер месяца должен быть в диаппазоне 1-12");
  15.  
  16.                 //Масив количества дней в месяце
  17.                 int[] mD = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
  18.                 //Уточнение, если год високосный
  19.                 if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0))
  20.                     mD[1] = 29;
  21.                
  22.                 Console.Write("\tD (день 1-{0}) - ",mD[m-1]);
  23.                 int d = int.Parse(Console.ReadLine());
  24.                 if (d < 1 || d > mD[m - 1]) throw new ArgumentException("В месяце №" + m + " " + y + " года, число может быть только в диаппазоне 1-" + mD[m - 1]);
  25.  
  26.                 if (d != mD[m - 1])
  27.                     d++;
  28.                 else if (m != 12) {
  29.                     d = 1;
  30.                     m++;
  31.                 } else {
  32.                     d = m = 1;
  33.                     y++;
  34.                 }
  35.  
  36.                 Console.WriteLine("Следующим денем является {0:d4}-{1:d2}-{2:d2}", y, m, d);
  37.             } catch (Exception ex) {
  38.                 Console.WriteLine(ex.Message);
  39.             }
  40.             Console.ReadLine();
  41.         }
  42.     }
  43. }

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


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

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

8   голосов , оценка 4.375 из 5

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

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

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