Нахождение даты, с которой по настоящий день прошло n дней - C#
Формулировка задачи:
С некоторой даты по настоящий день прошло n дней, найти неизвестную дату.
Нужно чтобы дата выводилась с компьютера, а не с клавиатуры.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { // Количество дней в году short[] Days = new short[] {31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; short Day; // число short Month; // месяц int Year; // год int NDays; // кол-во дней Console.Write("Введите день:"); Day = Convert.ToInt16(Console.ReadLine()); Console.Write("Введите месяц:"); Month = Convert.ToInt16(Console.ReadLine()); Console.Write("Введите год:"); Year = Convert.ToInt32(Console.ReadLine()); Console.Write("Введите кол-во дней:"); NDays = Convert.ToInt32(Console.ReadLine()); Console.Write("Начальная дата: " + Day + " / " + Month + " / " + Year + "\n"); while (NDays > 0) { Day--; if (Day <= 0) { Month--; if (Month <= 0) { Year--; Month = 12; } Day = Days[Month-1]; } NDays--; } Console.Write("конечная дата: " + Day + " / " + Month + " / " + Year); Console.ReadLine(); } } }
Решение задачи: «Нахождение даты, с которой по настоящий день прошло n дней»
textual
Листинг программы
short Day; // число short Month; // месяц int Year; // год int NDays; // кол-во дней Console.Write("Введите день:"); Day = Convert.ToInt16(Console.ReadLine()); Console.Write("Введите месяц:"); Month = Convert.ToInt16(Console.ReadLine()); Console.Write("Введите год:"); Year = Convert.ToInt32(Console.ReadLine()); Console.Write("Введите кол-во дней:"); NDays = Convert.ToInt32(Console.ReadLine()); var date = new DateTime(Year, Month, Day); Console.WriteLine("Начальная дата: {0:yyyy/MM/dd}", date); switch (1 > 0) { case true: var oldDate = date.AddDays(-NDays); Console.WriteLine("конечная дата: {0:yyyy/MM/dd}", oldDate); break; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д