Программирование с использованием языка C# может быть очень полезным навыком, особенно если вы хотите автоматизировать какие-либо задачи или создать программу собственного производства. В этой статье я расскажу о том, как написать программу на C#, используя оператор switch case, для определения правильной даты.
Для начала, давайте определимся с тем, что мы хотим сделать. Мы хотим написать программу, которая будет принимать два целых числа⁚ D (день) и M (месяц), представляющие правильную дату в невисокосном году. Наша задача ౼ вывести значения DD и MM для даты, предшествующей указанной.Чтобы решить эту задачу, мы будем использовать оператор switch case, который позволяет нам выбирать одну из нескольких вариаций кода для выполнения в зависимости от значения переменной. В нашем случае, мы будем использовать оператор switch case для определения количества дней в каждом месяце и сокращения значения дня и месяца на 1.Вот как будет выглядеть программа⁚
csharp
using System;
class Program
{
static void Main(string[] args)
{
// Вводим значения для дня и месяца
Console.WriteLine(″Введите день⁚″);
int day Convert.ToInt32(Console.ReadLine);
Console.WriteLine(″Введите месяц⁚″);
int month Convert;ToInt32(Console.ReadLine);
// Инициализируем переменные для предыдущего дня и месяц
int previousDay;
int previousMonth;
// Используем оператор switch case для определения количества дней в каждом месяце
switch (month)
{
case 1⁚
case 3⁚
case 5⁚
case 7⁚
case 8⁚
case 10⁚
case 12⁚
// Если месяц имеет 31 день
previousDay (day 1) ? 31 ⁚ day ‒ 1;
previousMonth (day 1) ? (month 1 ? 12 ⁚ month ౼ 1) ⁚ month;
break;
case 4⁚
case 6⁚
case 9⁚
case 11⁚
// Если месяц имеет 30 дней
previousDay (day 1) ? 30 ⁚ day ‒ 1;
previousMonth (day 1) ? month ౼ 1 ⁚ month;
break;
case 2⁚
// Если февраль
previousDay (day 1) ? 31 ⁚ day ౼ 1;
previousMonth (day 1) ? month ‒ 1 ⁚ month;
break;
default⁚
previousDay -1;
previousMonth -1;
break;
}
Console.WriteLine(″Предыдущая дата⁚ {0}.{1}″, previousDay, previousMonth);
// Ожидание ввода пользователя, прежде чем завершить программу
Console.ReadLine;
}
}
В этой программе мы сначала получаем значения для дня и месяца от пользователя при помощи команды `Console.ReadLine`. Затем мы используем оператор switch case для определения количества дней в каждом месяце и сокращения значения дня и месяца на 1. В зависимости от значения месяца, мы используем условные операторы для определения, является ли текущий день первым днем месяца.
В завершении программы мы выводим предыдущий день и месяц при помощи команды `Console.WriteLine`. Затем мы используем команду `Console.ReadLine`, чтобы программа ожидала ввода пользователя прежде чем завершиться.
Теперь вы готовы увидеть результаты программы! Вы должны ввести правильное значение для дня и месяца, а программа вернет предыдущий день и месяц в правильном формате.
Надеюсь, эта статья помогла вам освоить написание программы на C# с использованием оператора switch case для определения правильной даты. Удачи в вашем программировании!