Нахождение даты, с которой по настоящий день прошло 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;
}

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


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

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

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