Вопрос задан 24.06.2023 в 02:56. Предмет Информатика. Спрашивает Тупиков Сергей.

Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года.

Вывести значения D и M для даты, следующей за указанной. решить на VBA
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Чехов Николай.

Ответ:

using System;

public class Program

{

public static void Main()

{

 /*Даны два целых числа: D (день) и M (месяц),  

 определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной. */

 int D = Convert.ToInt32(Console.ReadLine());

 int M = Convert.ToInt32(Console.ReadLine());

 switch (M)

 {

  case 1:

  case 3:

  case 5:

  case 7:

  case 8:

  case 10:

   if (D == 31)

   {

    Console.WriteLine(D = 1);

    Console.WriteLine(M = M + 1);

    break;

   }

   else if (D > 31)

   {

    Console.WriteLine("Такой даты нет!");

    break;

   }

   else

   {

    Console.WriteLine(D + 1);

    Console.WriteLine(M);

    break;

   }

  case 2:

   if (D == 28)

   {

    Console.WriteLine(D = 1);

    Console.WriteLine(M = M + 1);

    break;

   }

   else if (D > 28)

   {

    Console.WriteLine("Такой даты нет!");

    break;

   }

   else

   {

    Console.WriteLine(D + 1);

    Console.WriteLine(M);

    break;

   }

  case 4:

  case 6:

  case 9:

  case 11:

   if (D == 30)

   {

    Console.WriteLine(D = 1);

    Console.WriteLine(M = M + 1);

    break;

   }

   else if (D > 30)

   {

    Console.WriteLine("Такой даты нет!");

    break;

   }

   else

   {

    Console.WriteLine(D + 1);

    Console.WriteLine(M);

    break;

   }

  case 12:

   if (D == 31)

   {

    Console.WriteLine(D = 1);

    Console.WriteLine(M = 1);

    break;

   }

   else if (D > 31)

   {

    Console.WriteLine("Такой даты нет!");

    break;

   }

   else

   {

    Console.WriteLine(D + 1);

    Console.WriteLine(M);

    break;

   }

 }

}

}

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для создания VBA макроса, который определяет следующую дату на основе заданных D (день) и M (месяц), вы можете использовать следующий код:

vba
Sub СледующаяДата() Dim D As Integer Dim M As Integer ' Задайте значения D и M D = 12 ' Замените на ваш день M = 9 ' Замените на ваш месяц ' Проверка корректности введенных значений If M < 1 Or M > 12 Or D < 1 Or D > DayInMonth(M) Then MsgBox "Введены некорректные значения дня и месяца." Exit Sub End If ' Увеличиваем день на 1 D = D + 1 ' Проверяем, если день стал больше, чем дней в месяце If D > DayInMonth(M) Then D = 1 M = M + 1 ' Проверяем, если месяц стал больше 12 (декабрь), то переходим к январю следующего года If M > 12 Then M = 1 End If End If ' Выводим следующую дату MsgBox "Следующая дата: " & D & "." & M End Sub Function DayInMonth(Month As Integer) As Integer ' Функция, возвращающая количество дней в месяце Select Case Month Case 4, 6, 9, 11 DayInMonth = 30 Case 2 DayInMonth = 28 ' Для невисокосного года Case Else DayInMonth = 31 End Select End Function

Вы можете запустить этот макрос в Excel, и он позволит вам ввести значения D и M, а затем выведет следующую дату. Пожалуйста, замените значения D и M на те, которые вам нужны, и учтите, что этот код не учитывает високосные годы, поэтому для високосных годов 29 февраля не будет обработан.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос