По введенной дате определить дату следующего дня - 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
Листинг программы
using System; namespace ConsoleApplication21 { class Program { static void Main(string[] args) { Console.Write("Укажите три целых числа: Y(год), M (месяц) и D (день), определяющие правильную дату.\n\tY (год) - "); try { int y = int.Parse(Console.ReadLine()); if(y<0) throw new ArgumentException("Год не может быть отрицательным"); Console.Write("\tM (месяц 1-12) - "); int m = int.Parse(Console.ReadLine()); if (m < 1 || m > 12) throw new ArgumentException("Номер месяца должен быть в диаппазоне 1-12"); //Масив количества дней в месяце int[] mD = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; //Уточнение, если год високосный if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) mD[1] = 29; Console.Write("\tD (день 1-{0}) - ",mD[m-1]); int d = int.Parse(Console.ReadLine()); if (d < 1 || d > mD[m - 1]) throw new ArgumentException("В месяце №" + m + " " + y + " года, число может быть только в диаппазоне 1-" + mD[m - 1]); if (d != mD[m - 1]) d++; else if (m != 12) { d = 1; m++; } else { d = m = 1; y++; } Console.WriteLine("Следующим денем является {0:d4}-{1:d2}-{2:d2}", y, m, d); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д