Составить программу в С # Замечание. При решении данных задач возможно использовать оператор switch или вложенные операторы if.Задача.С некоторой даты по настоящий день прошло m месяцев, найти неизвестную дату.
namespace UnknownDate { class Program { static void Main(string[] args) { // Ввод данных Console.WriteLine("Введите текущую дату (день, месяц, год):"); int day = Convert.ToInt32(Console.ReadLine()); int month = Convert.ToInt32(Console.ReadLine()); int year = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите количество прошедших месяцев:"); int m = Convert.ToInt32(Console.ReadLine()); // Нахождение неизвестной даты int totalMonths = month + m; int newMonth = totalMonths % 12; int newYear = year + totalMonths / 12; int daysInNewMonth = DaysInMonth(newMonth, newYear); // Вывод результата Console.WriteLine("Неизвестная дата: {0}.{1}.{2}", Math.Min(day, daysInNewMonth), newMonth, newYear); } // Функция для определения количества дней в месяце static int DaysInMonth(int month, int year) { switch (month) { case 2: if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) return 29; // Високосный год else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } } }
using System;
namespace UnknownDate
Console.WriteLine("Введите количество прошедших месяцев:");{
class Program
{
static void Main(string[] args)
{
// Ввод данных
Console.WriteLine("Введите текущую дату (день, месяц, год):");
int day = Convert.ToInt32(Console.ReadLine());
int month = Convert.ToInt32(Console.ReadLine());
int year = Convert.ToInt32(Console.ReadLine());
int m = Convert.ToInt32(Console.ReadLine());
// Нахождение неизвестной даты
int totalMonths = month + m;
int newMonth = totalMonths % 12;
int newYear = year + totalMonths / 12;
int daysInNewMonth = DaysInMonth(newMonth, newYear);
// Вывод результата
Console.WriteLine("Неизвестная дата: {0}.{1}.{2}", Math.Min(day, daysInNewMonth), newMonth, newYear);
}
// Функция для определения количества дней в месяце
static int DaysInMonth(int month, int year)
{
switch (month)
{
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
return 29; // Високосный год
else
return 28;
case 4:
case 6:
case 9:
case 11:
return 30;
default:
return 31;
}
}
}
}