I5. Оператор множественного выбора (switch)

Напишите в комментарии к этой записи консольные приложения для решения этих задач, указав код задачи.
Решены задачи: 3, 4, 9, 11, 12. Не решены: 1-2,5-8, 10.

Задачи

I5.1. Составить программу, которая в зависимости от порядкового номера дня недели (1, 2, …, 7) выводит на экран его название (понедельник, вторник, …, воскресенье).

I5.2. Составить программу, которая в зависимости от порядкового номера дня месяца (1, 2, …, 12) выводит на экран его название (январь, февраль, …, декабрь).

I5.3. Составить программу, которая в зависимости от порядкового номера месяца (1, 2, …, 12) выводит на экран время года, к которому относится этот месяц.

I5.4. Составить программу, которая в зависимости от порядкового номера месяца (1, 2, …, 12) выводит на экран количество дней в этом месяце. Рассмотреть два случая:
1) год не является високосным (см. задачу I3.25);
2) год может быть високосным (информация об этом вводится с клавиатуры).

I5.5. Мастям игральных карт условно присвоены следующие порядковые номера: масти «пики» — 1, масти «трефы» — 2, масти «бубны» — 3, масти «червы» — 4. По заданному номеру масти m (1 <= m <= 4) определить название соответствующей масти.

I5.6. Игральным картам условно присвоены следующие порядковые номера в зависимости от их достоинства: «валету» — 11, «даме» — 12, «королю» — 13, «тузу» — 14. Порядковые номера остальных карт соответствуют их названиям («шестерка», «девятка» и т. п.). По заданному номеру карты k (6 <=k <= 14) определить достоинство соответствующей карты.

I5.7. Мастям игральных карт условно присвоены следующие порядковые номера: масти «пики» — 1, масти «трефы» — 2, масти «бубны» — 3, масти «червы» — 4, а достоинству карт: «валету» — 11, «даме» — 12, «королю» — 13, «тузу» — 14 (порядковые номера карт остальных достоинств соответствуют их названиям: «шестерка», «девятка» и т. п.). По заданным номеру масти m (1 <= m <= 4) и номеру достоинства карты k (6 <= k <= 14) определить полное название (масть и достоинство) соответствующей карты в виде «Дама пик», Шестерка бубен» и т. п.

I5.8. Дано целое число k (1 <= k <= 365). Определить, каким днем недели (понедельником, вторником, …, субботой или воскресеньем) является k-й день не високосного года, в котором 1 января:
а) понедельник;
б)  d-й день недели (если 1 января — понедельник, то d = 1 , если вторник — d = 2 , …, если воскресенье — d = 7).

I5.9. С начала 1990 года по некоторый день прошло n месяцев и 2 дня. Определить название месяца (январь, февраль и т. п.) этого дня.

I5.10. Дата некоторого дня характеризуется двумя натуральными числами: m (порядковый номер месяца) и n (число). По заданным n и m определить:
а) дату предыдущего дня (принять, что n и m не характеризуют 1 января);
б) дату следующего дня (принять, что n и m не характеризуют 31 декабря).
Примечание. В обеих задачах принять, что год не является високосным.

I5.11. Дата некоторого дня характеризуется тремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и m определить:
а) дату предыдущего дня;
б) дату следующего дня.
В обеих задачах рассмотреть два случая:
1) заданный год не является високосным;
2) заданный год может быть високосным (см. задачу I3.25).

I5.12. В некоторых странах Дальнего Востока (Китае, Японии и др.) использовался (и неофициально используется в настоящее время) календарь, отличающийся от применяемого нами. Этот календарь представляет собой 60-летнюю циклическую систему. Каждый 60-летний цикл состоит из пяти 12-летних подциклов. В каждом подцикле года носят названия животных: Крыса, Корова, Тигр, Заяц, Дракон, Змея, Лошадь, Овца, Обезьяна, Петух, Собака и Свинья. Кроме того, в названии года фигурируют цвета животных, которые связаны с пятью элементами природы — Деревом (зеленый), Огнем (красный), Землей (желтый), Металлом (белый) и Водой (черный). В результате  каждое животное (и его год) имеет символический цвет, причем цвет этот часто совершенно не совпадает с его «естественной» окраской — Тигр может быть черным, Свинья — красной, а Лошадь — зеленой. Например, 1984 год — год начала очередного цикла — назывался годом Зеленой Крысы. Каждый цвет в цикле (начиная с зеленого) «действует» два года, поэтому через каждые 60 лет имя года (животное и его цвет) повторяется. Составить программу, которая по заданному номеру года нашей эры n печатает его название по описанному календарю в виде: «Крыса, Зеленый». Рассмотреть два случая:
а) значение n >= 1984;
б) значение n может быть любым натуральным числом.


NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.


Помощь проекту:

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
32 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

I5.1. Составить программу, которая в зависимости от порядкового номера дня недели (1, 2, …, 7) выводит на экран его название (понедельник, вторник, …, воскресенье).

static void Main(){
      loop1:
      Console.WriteLine(«Введите цифровое значение дня недели»);
      string input1=Console.ReadLine();
      bool result1 = int.TryParse(input1, out var number1);
      string DayofTheWeak =String.Empty;
        if (result1== true){
        int i= Convert.ToInt32(input1);
     
        switch (i)
        {
          case 1:
          DayofTheWeak =»Monday»;
            break;
            case 2:
          DayofTheWeak =»Tuesday»;
            break;
            case 3:
          DayofTheWeak =»Wednesday»;
            break;
            case 4:
          DayofTheWeak =»Thursday»;
            break;
            case 5:
          DayofTheWeak =»Friday»;
            break;
            case 6:
          DayofTheWeak =»Saturday»;
            break;
            case 7:
          DayofTheWeak =»Sunday»;
            break;
          default:Console.WriteLine(«Попробуйте еще раз»);
            goto loop1;    
        }
        Console.WriteLine(DayofTheWeak);
      }
      else{
        Console.WriteLine(«Введите Цифру от 1 до 7 соответствующую номеру дня недели»);
        goto loop1;
      }
    }
  }
}

{
           // I5.9. С начала 1990 года по некоторый день прошло n месяцев и 2 дня. // Определить название месяца (январь, февраль и т. п.) этого дня.

           Console.WriteLine(«Vvedite n месяцев»);
           int n = Convert.ToInt32(Console.ReadLine());
           int mes = n + 1;
           string mesjac = string.Empty;

           switch (mes)
           {
               case 1: mesjac = «jan»; break;
               case 2: mesjac = «feb»; break;
               case 3: mesjac = «mar»; break;
               case 4: mesjac = «apr»; break;
               case 5: mesjac = «may»; break;
               case 6: mesjac = «jun»; break;
               case 7: mesjac = «jul»; break;
               case 8: mesjac = «aug»; break;
               case 9: mesjac = «sep»; break;
               case 10: mesjac = «oct»; break;
               case 11: mesjac = «nov»; break;
               case 12: mesjac = «dec»; break;

               default: mesjac = «Vi glupij?( takogo mesjaca net»;   break;
           }
           Console.WriteLine(mesjac);
       }

{
           // I5.5. Мастям игральных карт условно присвоены следующие порядковые номера: масти «пики» — 1, масти «трефы» — 2, масти «бубны» — 3,
           // масти «червы» — 4. По заданному номеру масти m (1 <= m <= 4) определить название соответствующей масти.

           Console.WriteLine(«Vvedite номеру масти m (1 <= m <= 4) i определить название соответствующей масти»);
           int m = Convert.ToInt32(Console.ReadLine());
           string mastj = string.Empty;

           switch (m)
           { 
               case 1:
                   mastj = «пики»;
                   break;
               case 2:
                   mastj = ««трефы»»;
                   break;
               case 3:
                   mastj = ««бубны»»;
                   break;
               case 4:
                   mastj = ««червы»»;
                   break;

               default:
                   mastj = «Vi glupij?( takoi masti net»;
                   break;
           }
           Console.WriteLine(mastj);
       }

static void Main(string[] args)
       {
           // I5.3. Составить программу, которая в зависимости от порядкового номера месяца (1, 2, …, 12)
           // выводит на экран время года, к которому относится этот месяц.

           Console.WriteLine(«Vvedite порядковый номера дня недели (1, 2, …, 7)»);
           int a = Convert.ToInt32(Console.ReadLine());
           string season = string.Empty;

           switch (a)
           {
               case 12:  
               case 1:
               case 2:
                   season = «Winter»;
                   break;
               case 3:
               case 4:
               case 5:
                   season = «Spring»;
                   break;
               case 6:
               case 7:
               case 8:
                   season = «Summer»;
                   break;
               case 9:
               case 10:
               case 11:
                   season = «Autumn»;
                   break;

               default:
                   season = «Vi glupij?( takogo mesjca net»;
                   break;
           }
           Console.WriteLine(season);
       }

{
           // I5.1. Составить программу, которая в зависимости от порядкового номера дня недели (1, 2, …, 7)
           // выводит на экран его название (понедельник, вторник, …, воскресенье).

           Console.WriteLine(«Vvedite порядковый номера дня недели (1, 2, …, 7)»);
           int a = Convert.ToInt32(Console.ReadLine());
           string day = string.Empty;

           switch (a)
           {
               case 1:
                   day = «Ponedelnik»;
                   break;
               case 2:
                   day = «Vtornik»;
                   break;
               case 3:
                   day = «Sreda»;
                   break;
               case 4:
                   day = «Chetverg»;
                   break;
               case 5:
                   day = «Pjatnica»;
                   break;
               case 6:
                   day = «Subbota»;
                   break;
               case 7:
                   day = «Voskresenje»;
                   break;

               default:
                   day = «Neznaju»;
                   break;
           }
           Console.WriteLine(day);
       }

I5.1. Составить программу, которая в зависимости от порядкового номера дня недели (1, 2, …, 7) выводит на экран его название (понедельник, вторник, …, воскресенье).

 string dayOfWeek = string.Empty;
      int day = int.Parse(Console.ReadLine());

      switch (day)
      {
        case 1:
          dayOfWeek = «Monday»;
          break;
        case 2:
          dayOfWeek = «Tuesday»;
          break;
        case 3:
          dayOfWeek = «Wensday»;
          break;
        case 4:
          dayOfWeek = «Thursday»;
          break;
        case 5:
          dayOfWeek = «Friday»;
          break;
        case 6:
          dayOfWeek = «Saturday»;
          break;
        case 7:
          dayOfWeek = «Sunday»;
          break;
          default: throw new ArgumentException(«Unexpected number of day»);
      }
      Console.WriteLine(dayOfWeek);

Задачи решены, но многие не так как требуется (через switch).
Мне кажется, что все представленные задачи, довольно неудачно подобраны для решения именно вариантом Switch. Их хочется решать как угодно — условиями, циклами, особенно массивами, но не через switch.
В этих задачах совершенно не видно, в чем же преимущество switch перед другими формами. Мне кажется, что должны быть задействованы условия, которые нельзя представить прямым порядком или простой математической функцией. Хорошая зада для этого блока это I4.16. «В чемпионате по футболу команде за выигрыш дается 3 очка, за проигрыш — 0, за ничью — 1. Известно количество очков, полученных командой за игру.
Определить словесный результат игры (выигрыш, проигрыш или ничья).» — вот здесь сразу хочется решить ее через switch.

using System;
//I5. Оператор множественного выбора (switch)
namespace I5
{
    class Program
    {
        static int Input(string Name, int Min= -2147483648, int Max = 2147483647, int Exception1= -2147483648, int Exception2= -2147483648)
        {
            int Num;
            Console.WriteLine($"Введите {Name}");
            while (!(int.TryParse(Console.ReadLine(), out Num) && Num >= Min && Num <= Max && Num != Exception1 && Num != Exception2)) Console.WriteLine("Введено неверное значение");
            return Num;
        }
        static void Main()
        {
            //I5.1
            Console.WriteLine("I5.1. Составить программу, которая в зависимости от порядкового номера дня недели (1, 2, …, 7) выводит на экран его название (понедельник, вторник, …, воскресенье).");
            string[] S1 = new string[] { "понедельник", "вторник", "среда", "четверг", "пятница", "суббота", "воскресенье" };
            int N1 = Input("порядковый номер дня недели", 1, 7);
            Console.WriteLine($"это {S1[N1 - 1]}");
            Console.ReadKey();
            Console.Clear();
            //I5.2
            Console.WriteLine("I5.2. Составить программу, которая в зависимости от порядкового номера дня месяца (1, 2, …, 12) выводит на экран его название (январь, февраль, …, декабрь).");
            string[] S2 = new string[] { "январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь" };
            int N2 = Input("порядковый номер месяца", 1, 12);
            Console.WriteLine($"это {S2[N2 - 1]}");
            Console.ReadKey();
            Console.Clear();
            //I5.3
            Console.WriteLine("I5.3. Составить программу, которая в зависимости от порядкового номера месяца (1, 2, …, 12) выводит на экран время года, к которому относится этот месяц.");
            string S3season = "";
            int N3 = Input("порядковый номер месяца", 1, 12);
            switch (N3)
            {
                case 1:
                case 2:
                case 12: S3season = "зима"; break;
                case 3:
                case 4:
                case 5: S3season = "весна"; break;
                case 6:
                case 7:
                case 8: S3season = "лето"; break;
                case 9:
                case 10:
                case 11: S3season = "зима"; break;
            }
            Console.WriteLine($"Это {S3season}");
            Console.ReadKey();
            Console.Clear();
            //I5.4
            Console.WriteLine("I5.4. Составить программу, которая в зависимости от порядкового номера месяца (1, 2, …, 12) выводит на экран количество дней в этом месяце. Рассмотреть два случая:\n1) год не является високосным(см.задачу I3.25);\n2) год может быть високосным(информация об этом вводится с клавиатуры).");
            int N4 = Input("порядковый номер месяца", 1, 12);
            Console.WriteLine("Это високосный год?");
            int N4V = Input("1 если ДА, 0 если НЕТ", 0, 1);
            int N4D = 0;
            switch (N4)
            {
                case 1: N4D = 31; break;
                case 2: if (N4V == 1) N4D = 29; else N4D = 28; break;
                case 3: N4D = 31; break;
                case 4: N4D = 30; break;
                case 5: N4D = 31; break;
                case 6: N4D = 30; break;
                case 7: N4D = 31; break;
                case 8: N4D = 31; break;
                case 9: N4D = 30; break;
                case 10: N4D = 31; break;
                case 11: N4D = 30; break;
                case 12: N4D = 31; break;
            }
            Console.WriteLine($"В этом месяце {N4D} дней");
            Console.ReadKey();
            Console.Clear();
            //I5.5
            Console.WriteLine("I5.5. Мастям игральных карт условно присвоены следующие порядковые номера: масти «пики» — 1, масти «трефы» — 2, масти «бубны» — 3, масти «червы» — 4. По заданному номеру масти m (1 <= m <= 4) определить название соответствующей масти.");
            int N5 = Input("номер масти", 1, 4);
            string S5mark = "";
            switch (N5)
            {
                case 1: S5mark = "пики"; break;
                case 2: S5mark = "трефы"; break;
                case 3: S5mark = "бубны"; break;
                case 4: S5mark = "червы"; break;
            }
            Console.WriteLine($"Это {S5mark}");
            Console.ReadKey();
            Console.Clear();
            //I5.6
            Console.WriteLine("I5.6. Игральным картам условно присвоены следующие порядковые номера в зависимости от их достоинства: «валету» — 11, «даме» — 12, «королю» — 13, «тузу» — 14. Порядковые номера остальных карт соответствуют их названиям («шестерка», «девятка» и т. п.). По заданному номеру карты k (6 <=k <= 14) определить достоинство соответствующей карты.");
            int N6 = Input("номер карты", 6, 14);
            string S6card = "";
            switch (N6)
            {
                case 6: S6card = "шестерка"; break;
                case 7: S6card = "семерка"; break;
                case 8: S6card = "восьмерка"; break;
                case 9: S6card = "девятка"; break;
                case 10: S6card = "десятка"; break;
                case 11: S6card = "валет"; break;
                case 12: S6card = "дама"; break;
                case 13: S6card = "король"; break;
                case 14: S6card = "туз"; break;
            }
            Console.WriteLine($"Это {S6card}");
            Console.ReadKey();
            Console.Clear();
            //I5.7
            Console.WriteLine("I5.7. Мастям игральных карт условно присвоены следующие порядковые номера: масти «пики» — 1, масти «трефы» — 2, масти «бубны» — 3, масти «червы» — 4, а достоинству карт: «валету» — 11, «даме» — 12, «королю» — 13, «тузу» — 14 (порядковые номера карт остальных достоинств соответствуют их названиям: «шестерка», «девятка» и т. п.). По заданным номеру масти m (1 <= m <= 4) и номеру достоинства карты k (6 <= k <= 14) определить полное название (масть и достоинство) соответствующей карты в виде «Дама пик», Шестерка бубен» и т. п.");
            int N7A = Input("номер масти", 1, 4);
            int N7B = Input("номер карты", 6, 14);
            string[] S7mark = { "пик", "треф", "бубен", "черв" };
            string[] S7card = { "шестерка", "семерка", "восьмерка", "девятка", "десятка", "валет", "дама", "король", "туз" };
            Console.WriteLine($"Это {S7card[N7B - 6]} {S7mark[N7A - 1]}");
            Console.ReadKey();
            Console.Clear();
            //I5.8
            Console.WriteLine("I5.8. Дано целое число k (1 <= k <= 365). Определить, каким днем недели (понедельником, вторником, …, субботой или воскресеньем) является k-й день не високосного года, в котором 1 января:\nа) понедельник;\nб)  d - й день недели(если 1 января — понедельник, то d = 1, если вторник — d = 2 , …, если воскресенье — d = 7).");
            int N8 = Input("номер дня года", 1, 365);
            int N8j1 = Input("первое января приходится на", 1, 7);
            string S8day = "";
            switch ((N8 + (N8j1 - 1)) % 7)
            {
                case 1: S8day = "понедельник"; break;
                case 2: S8day = "вторник"; break;
                case 3: S8day = "среда"; break;
                case 4: S8day = "четверг"; break;
                case 5: S8day = "пятница"; break;
                case 6: S8day = "суббота"; break;
                case 0: S8day = "воскресенье"; break;
            }
            Console.WriteLine($"Это {S8day}");
            Console.ReadKey();
            Console.Clear();
            //I5.9
            Console.WriteLine("I5.9. С начала 1990 года по некоторый день прошло n месяцев и 2 дня. Определить название месяца (январь, февраль и т. п.) этого дня.");
            int N9 = Input("количество прошедших месяцев", 0);
            string[] S9 = new string[] { "декабрь", "январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь" };
            int N9CurrentYear = (1990 + (N9 / 12));
            int N9CurrentMonth = N9 % 12;
            Console.WriteLine($"Это {S9[N9CurrentMonth]} {N9CurrentYear} года");
            Console.ReadKey();
            Console.Clear();
            //I5.10
            Console.WriteLine("I5.10. Дата некоторого дня характеризуется двумя натуральными числами: m (порядковый номер месяца) и n (число). По заданным n и m определить:\nа) дату предыдущего дня(принять, что n и m не характеризуют 1 января);\nб) дату следующего дня(принять, что n и m не характеризуют 31 декабря).\nПримечание.В обеих задачах принять, что год не является високосным.");
            int N10month = Input("порядковый номер месяца", 1, 12);
            int N10day = Input("число месяца", 1, 31);
            string[] S10M = { "январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь" };
            int[] N10M = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
            bool N10Correct = true;
            if (N10day > N10M[N10month - 1]) N10Correct = false;
            int N10PastMonth = N10month;
            int N10PastDay = N10day - 1;
            int N10FutureMonth = N10month;
            int N10FutureDay = N10day + 1;
            if (N10FutureDay > N10M[N10month - 1]) { N10FutureMonth += 1; N10FutureDay = 1; }
            if (N10PastDay < 1) { N10PastMonth -= 1; N10PastDay = N10M[N10PastMonth - 1]; }
            Console.WriteLine(N10Correct ? $"Следующий день {N10FutureDay} {S10M[N10FutureMonth - 1]}\n Предыдущий день {N10PastDay} {S10M[N10PastMonth - 1]}" : "Введена неверная дата");
            Console.ReadKey();
            Console.Clear();
            //I5.11
            Console.WriteLine("I5.11. Дата некоторого дня характеризуется тремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и m определить а) дату предыдущего дня; б) дату следующего дня.\nВ обеих задачах рассмотреть два случая: 1) заданный год не является високосным; 2) заданный год может быть високосным(см.задачу I3.25).");
            int N11year = Input("год");
            bool N11V = false;
            if (N11year % 400 == 0) N11V = true;
            if (N11year % 100 != 0 && N11year % 4 == 0) N11V = true;
            int[] N11M = new int[] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
            if (N11V) N11M[1] = 29;
            int N11month = Input("месяц", 1, 12);
            int N11day = Input("число", 1, 31);
            bool N11Correct = true;
            if (N11day > N11M[N11month - 1]) N10Correct = false;
            int N11FD = N11day + 1;
            int N11FM = N11month;
            int N11FY = N11year;
            int N11PD = N11day - 1;
            int N11PM = N11month;
            int N11PY = N11year;
            if (N11FD > N11M[N11FM-1])
            {
                N11FM += 1;
                N11FD = 0;
                if (N11FM > 12) N11FY += 1;
            }
            if (N11PD<1)
            {
                N11PM -= 1;
                if (N11PM < 1) { N11PY -= 1; N11PM = 12; };
                N11PD = N11M[N11PM-1];
            }
            Console.WriteLine(N11Correct ? $"Следующий день {N11FD:d2}.{N11FM:d2}.{N11FY:d4}\nПредыдущий день {N11PD:d2}.{N11PM:d2}.{N11PY:d4}" :"Дата введена неверно") ;
            Console.ReadKey();
            Console.Clear();
            //I5.12
            Console.WriteLine("I5.12. В некоторых странах Дальнего Востока (Китае, Японии и др.) использовался (и неофициально используется в настоящее время) календарь, отличающийся от применяемого нами. Этот календарь представляет собой 60-летнюю циклическую систему. Каждый 60-летний цикл состоит из пяти 12-летних подциклов. В каждом подцикле года носят названия животных: Крыса, Корова, Тигр, Заяц, Дракон, Змея, Лошадь, Овца, Обезьяна, Петух, Собака и Свинья. Кроме того, в названии года фигурируют цвета животных, которые связаны с пятью элементами природы — Деревом (зеленый), Огнем (красный), Землей (желтый), Металлом (белый) и Водой (черный). В результате  каждое животное (и его год) имеет символический цвет, причем цвет этот часто совершенно не совпадает с его «естественной» окраской — Тигр может быть черным, Свинья — красной, а Лошадь — зеленой. Например, 1984 год — год начала очередного цикла — назывался годом Зеленой Крысы. Каждый цвет в цикле (начиная с зеленого) «действует» два года, поэтому через каждые 60 лет имя года (животное и его цвет) повторяется. Составить программу, которая по заданному номеру года нашей эры n печатает его название по описанному календарю в виде: «Крыса, Зеленый». Рассмотреть два случая \n а) значение n >= 1984;\n б) значение n может быть любым натуральным числом.");
            int N12 = Input("год");
            string [] S12A = { "Обезьяны", "Петуа", "Собаки", "Свиньи","Крысы", "Коровы", "Тигра", "Заяца", "Дракона", "Змеи", "Лошади", "Овцы"};
            string [] S12C = {"Дерево(зеленый)", "Огонь(красный)", "Земля(желтый)", "Металл (белый)","Вода (черный)"};
            Console.WriteLine($"{N12} год - год {S12A[N12%12]}, {S12C[(N12%60)/12]}");
            Console.ReadKey();
            Console.Clear();
        }
    }
}


N10Correct = false;

вместо 10 поставьте 11, и код будет работать

это 11-ый номер

 Console.WriteLine(«I5.6 Игральные карты и их достоинства: \n Шестерка-6 \n Семерка-7 \n Восьмерка-8 \n Девятка-9 \n Десятка-10 \n Валет-11 \n Дама-12 \n Король-13 \n Туз-14» +
        «»);
      int k = int.Parse(Console.ReadLine());
      if (6 <= k && k <= 14)
      {
        switch (k)
        {
          case 6:
            Console.WriteLine(«Шестерка»);
            break;
          case 7:
            Console.WriteLine(«Семерка»);
            break ;
          case 8:
            Console.WriteLine(«Восьмерка»);
            break;
          case 9:
            Console.WriteLine(«Девятка»);
            break;
          case 10:
            Console.WriteLine(«Десятка»);
            break;
          case 11:
            Console.WriteLine(«Валет»);
            break;
          case 12:
            Console.WriteLine(«Дама»);
            break;
          case 13:
            Console.WriteLine(«Король»);
            break;
          case 14:
            Console.WriteLine(«Туз»);
            break;

          default:
            Console.WriteLine(«Вы ввели неверное число»);
            break;
        }
      }
      else
      {
        Console.WriteLine(«Вы ввели неверное число»);
      }

I5.1

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

switch (x)
{
  case 1:
    Console.WriteLine(«Понедельник»);
    break;
  case 2:
    Console.WriteLine(«Вторник»);
    break ;
    case 3:
    Console.WriteLine(«Среда»);
    break;
  case 4:
    Console.WriteLine(«Четверг»);
    break;
    case 5:
    Console.WriteLine(«Пятница»);
    break;
  case 6:
    Console.WriteLine(«Суббота»);
    break;
    case 7:
    Console.WriteLine(«Воскресенье»);
    break;
    default: 
    Console.WriteLine(«Неверный формат»);
    break;
}

I5.7. Мастям игральных карт условно присвоены следующие порядковые номера: масти «пики» — 1, масти «трефы» — 2, масти «бубны» — 3, масти «червы» — 4, а достоинству карт: «валету» — 11, «даме» — 12, «королю» — 13, «тузу» — 14 (порядковые номера карт остальных достоинств соответствуют их названиям: «шестерка», «девятка» и т. п.). По заданным номеру масти m (1 <= m <= 4) и номеру достоинства карты k (6 <= k <= 14) определить полное название (масть и достоинство) соответствующей карты в виде «Дама пик», Шестерка бубен» и т. п.

int m, k;
            Console.WriteLine("Введите порядковый номер масти от (1 до 4)");
            m = int.Parse(Console.ReadLine());
            Console.WriteLine("Введите номер достоинства карты (от 6 до 14)");
            k = int.Parse(Console.ReadLine());
            Console.Write("Ваша карта: ");
            switch (m)
            {
                case 1:
                    Console.Write("Пики ");
                    break;
                case 2:
                    Console.Write("Трефы ");
                    break;
                case 3:
                    Console.Write("Бубны ");
                    break;
                case 4:
                    Console.Write("Червы ");
                    break;
                default:
                    Console.WriteLine("Unknown");
                    break;
            }
            switch(k)
            {
                case 6:
                    Console.Write("шестерка");
                    break;
                case 7:
                    Console.Write("семерка");
                    break;
                case 8:
                    Console.Write("восьмерка");
                    break;
                case 9:
                    Console.Write("девятка");
                    break;
                case 10:
                    Console.Write("десятка");
                    break;
                case 11:
                    Console.Write("валет");
                    break;
                case 12:
                    Console.Write("дама");
                    break;
                case 13:
                    Console.Write("король");
                    break;
                case 14:
                    Console.Write("туз");
                    break;
                default:
                    Console.WriteLine("Unknown");
                    break;
            }
Важно: Вы можете поддержать проект и автора.
using System;

namespace BlockDemo
{
    class Programm
    {
        /*
         Мастям игральных карт условно присвоены следующие порядковые номера:
        масти «пики» — 1, масти «трефы» — 2, масти «бубны» — 3, 
        масти «червы» — 4. По заданному номеру масти m (1 <= m = 1 && m <= 4)
            {
                switch (m)
                {
                    case 1:
                        Print(days[^4]);
                        break;
                    case 2:
                        Print(days[^3]);
                        break;
                    case 3:
                        Print(days[^2]);
                        break;
                    case 4:
                        Print(days[^1]);
                        break;
                }
            }
            else
            {
                Print("Неверный ввод");
            }
        }
    }
}
Важно: Вы можете поддержать проект и автора.

string[] days = new string[7] { «Понедельник», «Вторник», «Среда», «Четверг», «Пятница», «Суббота», «Воскресенье» };
Console.WriteLine(«Введите порядковый номер дня недели»);
int daysNumber= Convert.ToInt32(Console.ReadLine());
switch (daysNumber)
{
case 1:
Console.WriteLine(days[^7]);
break;
case 2:
Console.WriteLine(days[^6]);
break ;
case 3:
Console.WriteLine(days[^5]);
break;
case 4:
Console.WriteLine(days[^4]);
break;
case 5:
Console.WriteLine(days[^3]);
break;
case 6:
Console.WriteLine(days[^2]);
break;
case 7:
Console.WriteLine(days[^1]);
break;
}

I5.5. Мастям игральных карт условно присвоены следующие порядковые номера: масти «пики» — 1, масти «трефы» — 2, масти «бубны» — 3, масти «червы» — 4. По заданному номеру масти m (1 <= m <= 4) определить название соответствующей масти.

Console.WriteLine("Введите m");
int m = int.Parse(Console.ReadLine());
int a = 1;
int b = 4;

if (a <= m & m <= b)
{
switch (m)
{
case 1:
Console.WriteLine("пики");
break;
case 2:
Console.WriteLine("трефы");
break;
case 3:
Console.WriteLine("бубны");
break;
case 4:
Console.WriteLine("червы");
break;
default:
break;

}
}

I5.8. Дано целое число k (1 <= k <= 365). Определить, каким днем недели (понедельником, вторником, …, субботой или воскресеньем) является k-й день не високосного года, в котором 1 января:
а) понедельник;
б)  d-й день недели (если 1 января — понедельник, то d = 1 , если вторник — d = 2 , …, если воскресенье — d = 7).

class Program
    {
        static string WeekDay(uint Numday, int x)
        {
            //Идентификация массивов
            string[] myArray =
            {
                "Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье"
            };
            string day ="";
            uint p = Numday - 1;
            for (; p < myArray.Length && x != 0; x--, p++)
                day = myArray[p];

            //Перезапись недели до понедельника
            for (int j = 0; j < Numday - 1 && x != 0; x--, j++)
                day = myArray[j];
            return day;
        }

        static void Day_week(uint d, uint FirstJan = 1)
        {
            uint dw = d % 7;
            switch (dw)
            {
                case 0:
                    Console.WriteLine(d + " день в году это" + WeekDay(FirstJan, 0));
                    break;
                case 1:
                    Console.WriteLine(d + " день в году это " + WeekDay(FirstJan, 1));
                    break;
                case 2:
                    Console.WriteLine(d + " день в году это " + WeekDay(FirstJan, 2));
                    break;
                case 3:
                    Console.WriteLine(d + " день в году это " + WeekDay(FirstJan, 3));
                    break;
                case 4:

                    Console.WriteLine(d + " день в году это " + WeekDay(FirstJan, 4));
                    break;
                case 5:
                    Console.WriteLine(d + " день в году это " + WeekDay(FirstJan, 5));
                    break;
                case 6:
                    Console.WriteLine(d + " день в году это " + WeekDay(FirstJan, 6));
                    break;
            }
        }

        static void Main(string[] args)
        {
            uint k;
            while (true)
            {
                Console.Write("Введите номер дня в году (1-365): ");
                k = uint.Parse(Console.ReadLine()); //порядковый номер дня
                if (1 <= k && k <= 365)
                {
                    break;
                }
            }

            string[] Week =
            {
                "Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье"
            };
            Console.WriteLine("С какого дня недели начинается год?");
            Console.WriteLine();

            for (int i = 1, p = 0; i <= Week.Length; p++, i++)
            {
                Console.WriteLine(Week[p] + $" — {i}");
            }

            uint Day;
            while (true)
            {
                Console.Write("Введите число соответствующее дню недели: ");
                Day = uint.Parse(Console.ReadLine());

                if (1 <= Day && Day <= 7)
                {
                    break;
                }
            }
            Console.WriteLine();

            Day_week(k, Day);

        }
    }
Важно: Вы можете поддержать проект и автора.

I5.12. В некоторых странах Дальнего Востока (Китае, Японии и др.) использовался (и неофициально используется в настоящее время) календарь, отличающийся от применяемого нами. Этот календарь представляет собой 60-летнюю циклическую систему. Каждый 60-летний цикл состоит из пяти 12-летних подциклов. В каждом подцикле года носят названия животных: Крыса, Корова, Тигр, Заяц, Дракон, Змея, Лошадь, Овца, Обезьяна, Петух, Собака и Свинья. Кроме того, в названии года фигурируют цвета животных, которые связаны с пятью элементами природы — Деревом (зеленый), Огнем (красный), Землей (желтый), Металлом (белый) и Водой (черный). В результате каждое животное (и его год) имеет символический цвет, причем цвет этот часто совершенно не совпадает с его «естественной» окраской — Тигр может быть черным, Свинья — красной, а Лошадь — зеленой. Например, 1984 год — год начала очередного цикла — назывался годом Зеленой Крысы. Каждый цвет в цикле (начиная с зеленого) «действует» два года, поэтому через каждые 60 лет имя года (животное и его цвет) повторяется. Составить программу, которая по заданному номеру года нашей эры n печатает его название по описанному календарю в виде: «Крыса, Зеленый». Рассмотреть два случая:
а) значение n >= 1984;
б) значение n может быть любым натуральным числом.
Решение

int year = Convert.ToInt32(Console.ReadLine());
string color = string.Empty;
switch (((year + 6) % 10 + 2) / 2)
{
   case 1:
      color = "Green";
      break;
   case 2:
      color = "Red";
      break;
   case 3:
      color = "Yellow";
      break;
   case 4:
      color = "White";
      break;
   case 5:
      color = "Black";
      break;
}
switch ((year - 3) % 12)
{
   case 1: 
      Console.WriteLine($"{color} Mouse year");
      break;
   case 2: 
      Console.WriteLine($"{color} Cow year");
      break;
   case 3:
      Console.WriteLine($"{color} Tiger year");
      break;
   case 4:
      Console.WriteLine($"{color} Rabbit year");
      break;
   case 5:
      Console.WriteLine($"{color} Dragon year");
      break;
   case 6:
      Console.WriteLine($"{color} Snake year");
      break;
   case 7:
      Console.WriteLine($"{color} Horse year");
      break;
   case 8:
      Console.WriteLine($"{color} Sheep year");
      break;
   case 9:
      Console.WriteLine($"{color} Monkey year");
      break;
   case 10:
      Console.WriteLine($"{ color} Cock year");
      break;
   case 11:
      Console.WriteLine($"{ color} Dog year");
      break;
   case 0:
      Console.WriteLine($"{color} Pig year");
      break;
}
Важно: Вы можете поддержать проект и автора.

I5.11. Дата некоторого дня характеризуется тремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и m определить:
а) дату предыдущего дня;
б) дату следующего дня.
В обеих задачах рассмотреть два случая:
1) заданный год не является високосным;
2) заданный год может быть високосным

int g = Convert.ToInt32(Console.ReadLine());
int m = Convert.ToInt32(Console.ReadLine());
int n = Convert.ToInt32(Console.ReadLine()) - 1;
int dayPerMonth = 0;
switch (m)
{
   case 1:
      dayPerMonth = 31;
      break;
   case 2:
      dayPerMonth = 30;
      break;
   case 3:
      switch (g % 4)
      {
         case 0:
            dayPerMonth = 29;
            break;
         case 1:
         case 2:
         case 3:
            dayPerMonth = 28;
            break;
      }
      break;
  // и т.д.
}
switch (n)
{
   case 0:
      m -= 1;
      n = dayPerMonth;
      switch (m)
      {
         case 0:
            g -= 1;
            m = 12;
            break;
         default:
            break;
      }
      break;
}
Console.WriteLine(Convert.ToString("Вчерашняя дата: " + n + "." + m + "." + g));
Важно: Вы можете поддержать проект и автора.

I5.4. Составить программу, которая в зависимости от порядкового номера месяца (1, 2, …, 12) выводит на экран количество дней в этом месяце. Рассмотреть два случая:
1) год не является високосным (см. задачу I3.25);
2) год может быть високосным (информация об этом вводится с клавиатуры).

switch (month)
{                
   case 1:
      Console.WriteLine("Январь 31");
      break;
   case 2:
      Console.WriteLine("Если год високосный, нажмите 1, если нет, то 0");
      int a = Convert.ToInt32(Console.ReadLine());
      switch (a)
      {
         case 1:
            Console.WriteLine("Февраль 29");
            break;
        case 0:
            Console.WriteLine("Февраль 28");
            break;
      }
      break;
   case 3:
      Console.WriteLine("Март 31");
      break;
}
Важно: Вы можете поддержать проект и автора.

I5.3. Составить программу, которая в зависимости от порядкового номера месяца (1, 2, …, 12) выводит на экран время года, к которому относится этот месяц.

       switch (month)
            {
                case 12:
                case 1:
                case 2:
                    Console.WriteLine("Зима");
                    break;
                case 3:
                case 4:
                case 5:
                    Console.WriteLine("Весна");
                    break;
                case 6:
                case 7:
                case 8:
                    Console.WriteLine("Лето");
                    break;
                case 9:
                case 10:
                case 11:
                    Console.WriteLine("Осень");
                    break;
Важно: Вы можете поддержать проект и автора.

I5.11. Дата некоторого дня характеризуется тремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и m определить:
а) дату предыдущего дня;
б) дату следующего дня.
В обеих задачах рассмотреть два случая:
1) заданный год не является високосным;
2) заданный год может быть високосным

using System;
namespace даты_I5_11
{
class Program
{
    static void Main()
    { 
        Console.WriteLine("Задайте число!");
        int d = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Задайте месяц!");
        int m = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Задайте год!");
        int y = Convert.ToInt32(Console.ReadLine());
        switch (m)
        {
        case 1:
            if (d <= 1)
            {
                int yesterday = 31;
                int last_month = 12;
                int last_year = y - 1;
                int visokos_last = last_year % 4;
                if (visokos_last == 0)
                    Console.WriteLine("Високосный");
                else 
                    Console.WriteLine("Не високосный"); 
                Console.WriteLine("Вчера " + yesterday + "." + last_month + "." + last_year);
                int visokos_next = y % 4;
                if (visokos_next == 0) 
                    Console.WriteLine("Високосный");
                else 
                    Console.WriteLine("Не високосный"); 
                Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
            }
            else
            {
                int year = y % 4;
                if (year == 0) 
                    Console.WriteLine("Високосный");
                else 
                    Console.WriteLine("Не високосный"); 
                Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
                if (d == 31)
                {
                    int next_month = m + 1;
                    Console.WriteLine("Завтра " + (d = 1) + "." + next_month + "." + y);
                }
                else
                Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
            }
            break;
   
        case 12:
            if (d <= 1)
            {
                int yesterday = 30;
                int last_month = m - 1;
                int visokos = y % 4;
                if (visokos == 0)
                    Console.WriteLine("Високосный");
                else
                    Console.WriteLine("Не високосный");
                Console.WriteLine("Вчера " + yesterday + "." + last_month + "." + y);
                Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
            }
            else
            {
                int year = y % 4;
                if (year == 0)
                    Console.WriteLine("Високосный");
                else
                    Console.WriteLine("Не високосный");
                Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
                if (d == 31)
                {
                    int next_day = 1; int next_year = y + 1; m = 1;
                    Console.WriteLine("Завтра " + next_day + "." + m + "." + next_year);
                    if (next_year == 0)
                        Console.WriteLine("Високосный");
                    else
                        Console.WriteLine("Не високосный");
                }
                else
                    Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
            }
            break;
   
        case 2:
            if (d <= 1)
            {
                int yesterday = 31;
                int last_month = m - 1;
                int visokos = y % 4;
                if (visokos == 0)
                    Console.WriteLine("Високосный"); 
                else 
                    Console.WriteLine("Не високосный"); 
                Console.WriteLine("Вчера " + yesterday + "." + last_month + "." + y);
                Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
            }
            else
            {
                int year = y % 4;
                if (year == 0) 
                   Console.WriteLine("Високосный"); 
                else 
                   Console.WriteLine("Не високосный");
                Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
                if (d == 28 || d == 29)
                {
                    int next_day = 1; int next_month = m + 1;
                    Console.WriteLine("Завтра " + next_day + "." + next_month + "." + y);
                }
                else 
                   Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y); 
            }
            break;

case 3:
if (d <= 1)
{
    int visokos_yesterday = 29;
    int nevisokos_yesterday = 28;
    int last_month = m - 1;
    int visokos = y % 4;
    if (visokos == 0) { Console.WriteLine("Вчера " + visokos_yesterday + "." + last_month + "." + y + " Високосный"); }
    else { Console.WriteLine("Вчера " + nevisokos_yesterday + "." + last_month + "." + y + " Не високосный"); }
    Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
}
else
{
    int year = y % 4;
    if (year == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
    if (d == 28 || d == 29)
    {
        int next_day = 1; int next_month = m + 1;
        Console.WriteLine("Завтра " + next_day + "." + next_month + "." + y);
    }
    else { Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y); };
}
break;

case 5:
if (d <= 1)
{
    int yesterday = 30;
    int last_month = m - 1;
    int visokos = y % 4;
    if (visokos == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + yesterday + "." + last_month + "." + y);
    Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
}
else
{
    int year = y % 4;
    if (year == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
    if (d == 31)
    {
        int next_day = 1;
        int next_month = m + 1;
        Console.WriteLine("Завтра " + next_day + "." + next_month + "." + y);
    }
    else { Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y); };
}
break;

case 7:
if (d <= 1)
{
    int yesterday = 30;
    int last_month = m - 1;
    int visokos = y % 4;
    if (visokos == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + yesterday + "." + last_month + "." + y);
    Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
}
else
{
    int year = y % 4;
    if (year == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
    if (d == 31)
    {
        int next_day = 1;
        int next_month = m + 1;
        Console.WriteLine("Завтра " + next_day + "." + next_month + "." + y);
    }
    else { Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y); };
}
break;

case 8:
if (d <= 1)
{
    int yesterday = 31;
    int last_month = m - 1;
    int visokos = y % 4;
    if (visokos == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + yesterday + "." + last_month + "." + y);
    Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
}
else
{
    int year = y % 4;
    if (year == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
    if (d == 31)
    {
        int next_day = 1;
        int next_month = m + 1;
        Console.WriteLine("Завтра " + next_day + "." + next_month + "." + y);
    }
    else { Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y); };
}
break;

case 10:
if (d <= 1)
{
    int yesterday = 30;
    int last_month = m - 1;
    int visokos = y % 4;
    if (visokos == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
                        Console.WriteLine("Вчера " + yesterday + "." + last_month + "." + y);
    Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
}
else
{
    int year = y % 4;
    if (year == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
    if (d == 31)
    {
        int next_day = 1;
        int next_month = m + 1;
        Console.WriteLine("Завтра " + next_day + "." + next_month + "." + y);
    }
    else { Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y); };
}
break;

case 4:
if (d <= 1)
{
    int yesterday = 31;
    int last_month = m - 1;
    int visokos = y % 4;
    if (visokos == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + yesterday + "." + last_month + "." + y);
    Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
}
else
{
    int year = y % 4;
    if (year == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
    if (d == 31)
    {
        int next_day = 1;
        int next_month = m + 1;
        Console.WriteLine("Завтра " + next_day + "." + next_month + "." + y);
    }
    else { Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y); };
}
break;

case 6:
if (d <= 1)
{
    int yesterday = 31;
    int last_month = m - 1;
    int visokos = y % 4;
    if (visokos == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + yesterday + "." + last_month + "." + y);
    Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
}
else
{
    int year = y % 4;
    if (year == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
    if (d == 31)
    {
        int next_day = 1;
        int next_month = m + 1;
        Console.WriteLine("Завтра " + next_day + "." + next_month + "." + y);
    }
    else { Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y); };
}
break;

case 9:
if (d <= 1)
{
    int yesterday = 31;
    int last_month = m - 1;
    int visokos = y % 4;
    if (visokos == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + yesterday + "." + last_month + "." + y);
    Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
}
else
{
    int year = y % 4;
    if (year == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
    if (d == 31)
    {
        int next_day = 1;
        int next_month = m + 1;
        Console.WriteLine("Завтра " + next_day + "." + next_month + "." + y);
    }
    else { Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y); };
}
break;

case 11:
if (d <= 1)
{
    int yesterday = 31;
    int last_month = m - 1;
    int visokos = y % 4;
    if (visokos == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + yesterday + "." + last_month + "." + y);
    Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y);
}
else
{
    int year = y % 4;
    if (year == 0) { Console.WriteLine("Високосный"); } else { Console.WriteLine("Не високосный"); }
    Console.WriteLine("Вчера " + (d - 1) + "." + m + "." + y);
    if (d == 31)
    {
        int next_day = 1;
        int next_month = m + 1;
        Console.WriteLine("Завтра " + next_day + "." + next_month + "." + y);
    }
    else { Console.WriteLine("Завтра " + (d + 1) + "." + m + "." + y); };
}
break;
}   // end switch
        }
    }
}
Важно: Вы можете поддержать проект и автора.

I5.12. В некоторых странах Дальнего Востока (Китае, Японии и др.) использовался (и неофициально используется в настоящее время) календарь, отличающийся от применяемого нами. Этот календарь представляет собой 60-летнюю циклическую систему. Каждый 60-летний цикл состоит из пяти 12-летних подциклов. В каждом подцикле года носят названия животных: Крыса, Корова, Тигр, Заяц, Дракон, Змея, Лошадь, Овца, Обезьяна, Петух, Собака и Свинья. Кроме того, в названии года фигурируют цвета животных, которые связаны с пятью элементами природы — Деревом (зеленый), Огнем (красный), Землей (желтый), Металлом (белый) и Водой (черный). В результате  каждое животное (и его год) имеет символический цвет, причем цвет этот часто совершенно не совпадает с его «естественной» окраской — Тигр может быть черным, Свинья — красной, а Лошадь — зеленой. Например, 1984 год — год начала очередного цикла — назывался годом Зеленой Крысы. Каждый цвет в цикле (начиная с зеленого) «действует» два года, поэтому через каждые 60 лет имя года (животное и его цвет) повторяется. Составить программу, которая по заданному номеру года нашей эры n печатает его название по описанному календарю в виде: «Крыса, Зеленый». Рассмотреть два случая:
а) значение n >= 1984;

int Year;
Year = int.Parse(Console.ReadLine());
switch ((Year - 1984) % 12)
{  
case 0:
   switch (Year % 10)
   {
       case 0: Console.WriteLine("Белая крыса");
               break;
       case 6: Console.WriteLine("Красная крыса");
               break;
       case 8: Console.WriteLine("Желтая крыса");
               break;
       case 4: Console.WriteLine("Зеленая крыса");
               break;
       case 2: Console.WriteLine("Синяя крыса");
               break;
   } //мышь
   break;
case 1:
   switch (Year % 10)
   {
       case 1:
           Console.WriteLine("Белый бык");
           break;
       case 7:
           Console.WriteLine("Красный бык");
           break;
       case 9:
           Console.WriteLine("Желтый бык");
           break;
       case 5:
           Console.WriteLine("Зеленый бык");
           break;
       case 3:
           Console.WriteLine("Синий бык");
           break;
   } // бык
   break;
case 2:
   switch (Year % 10)
   {
       case 0:
           Console.WriteLine("Белый тигр");
           break;
       case 6:
           Console.WriteLine("Красный тигр");
           break;
       case 8:
           Console.WriteLine("Желтый тигр");
           break;
       case 4:
           Console.WriteLine("Зеленый тигр");
           break;
       case 2:
           Console.WriteLine("Синий тигр");
           break;
   } // тигр
   break;
case 3:
   switch (Year % 10)
   {
       case 1:
           Console.WriteLine("Белый заяц");
            break;
       case 7:
            Console.WriteLine("Красный заяц");
            break;
       case 9:
             Console.WriteLine("Желтый заяц");
             break;
       case 5:
             Console.WriteLine("Зеленый заяц");
             break;
       case 3:
             Console.WriteLine("Синий заяц");
             break;
   } // кролик или кот
   break;
case 4:
   switch (Year % 10) // дракон
   {
       case 0:
            Console.WriteLine("Белый дракон");
            break;
            case 6:
                Console.WriteLine("Красный дракон");
                break;
            case 8:
                Console.WriteLine("Желтый дракон");
                break;
            case 4:
                Console.WriteLine("Зеленый дракон");
                break;
            case 2:
                Console.WriteLine("Синий дракон");
                break;
   } // дракон
   break;
case 5:
   switch (Year % 10) //змея
   {
      case 1:
          Console.WriteLine("Белая змея");
          break;
      case 7:
          Console.WriteLine("Красная змея");
          break;
      case 9:
          Console.WriteLine("Желтая змея");
          break;
      case 5:
          Console.WriteLine("Зеленая змея");
          break;
      case 3:
          Console.WriteLine("Синяя змея");
          break;
   } // змея
   break;
case 6:
   switch (Year % 10)// лошадь
   {
       case 0:
           Console.WriteLine("Белая лошадь");
           break;
       case 6:
           Console.WriteLine("Красная лошадь");
           break;
       case 8:
           Console.WriteLine("Желтая лошадь");
           break;
       case 4:
           Console.WriteLine("Зеленая лошадь");
           break;
       case 2:
           Console.WriteLine("Синяя лошадь");
           break;
  } // лошадь
   break;
case 7:
   switch (Year % 10)
   {
       case 1:
           Console.WriteLine("Белая овца");
           break;
       case 7:
           Console.WriteLine("Красная овца");
           break;
       case 9:
           Console.WriteLine("Желтая овца");
           break;
       case 5:
           Console.WriteLine("Зеленая овца");
           break;
       case 3:
           Console.WriteLine("Синяя овца");
           break;
   } // Овца или коза
   break;
case 8:
   switch (Year % 10)
   {
      case 0:
          Console.WriteLine("Белая обезьяна");
          break;
      case 6:
          Console.WriteLine("Красная обезьяна");
          break;
      case 8:
          Console.WriteLine("Желтая обезьяна");
          break;
      case 4:
          Console.WriteLine("Зеленая обезьяна");
          break;
      case 2:
          Console.WriteLine("Синяя обезьяна");
          break;
   } // Обезьяна
   break;
case 9:
   switch (Year % 10)
   {
      case 1:
          Console.WriteLine("Белый петух");
          break;
      case 7:
          Console.WriteLine("Красный петух");
          break;
      case 9:
          Console.WriteLine("Желтый петух");
          break;
      case 5:
          Console.WriteLine("Зеленый петух");
          break;
      case 3:
          Console.WriteLine("Синий петух");
          break;
   } // Петух
    break;
case 10:
    switch (Year % 10)
    {
       case 0:
           Console.WriteLine("Белая собака");
           break;
       case 6:
           Console.WriteLine("Красная собака");
           break;
       case 8:
           Console.WriteLine("Желтая собака");
           break;
       case 4:
           Console.WriteLine("Зеленая собака");
           break;
       case 2:
           Console.WriteLine("Синяя собака");
           break;
   } // собака
   break;
case 11:
   switch (Year % 10)
   {
       case 1:
           Console.WriteLine("Белая свинья");
           break;
       case 7:
           Console.WriteLine("Красная свинья");
           break;
       case 9:
           Console.WriteLine("Желтая свинья");
           break;
       case 5:
           Console.WriteLine("Зеленая свинья");
           break;
       case 3:
           Console.WriteLine("Синяя свинья");
           break;
   } // Бык или свинья
   break;
default:
   break;
}

I5.9. С начала 1990 года по некоторый день прошло n месяцев и 2 дня. Определить название месяца (январь, февраль и т. п.) этого дня.

int n;
n = int.Parse(Console.ReadLine());
if (n < 1)
{
   Console.WriteLine("Месяцы не могут быть отрицательными");
}
else
{
   switch (n % 12 + 1)
   {
       case 1:
          Console.WriteLine("Январь");
          break;
       case 2:
          Console.WriteLine("Февраль");
          break;
       case 3:
          Console.WriteLine("Март");
          break;
       case 4:
          Console.WriteLine("Апрель");
          break;
       case 5:
          Console.WriteLine("Май");
          break;
       case 6:
          Console.WriteLine("Июнь");
          break;
       case 7:
          Console.WriteLine("Июль");
          break;
       case 8:
          Console.WriteLine("Август");
          break;
       case 9:
          Console.WriteLine("Сентябрь");
          break;
       case 10:
          Console.WriteLine("Октябрь");
          break;
       case 11:
          Console.WriteLine("Ноябрь");
          break;
       case 12:
          Console.WriteLine("Декабрь");
          break;
   }
}
Важно: Вы можете поддержать проект и автора.
32
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x