Конструкція switch/case аналогічна конструкції if/else, оскільки дозволяє обробити одразу кілька умов.
Вивести введене число у словесній інтерпретації


|
Оператор варіанта switch складається з виразу (перемикача s) та списку операторів, кожному з яких передує одна або більше констант вибору або ключове слово default.
Тип s - ціле число, символ або рядок.
Усі константи вибору передують ключовому слову case, повинні бути унікальними та мати тип, сумісний з типом перемикача s.
Оператор switch може включати будь-яку кількість екземплярів case, але два оператори case не можуть мати однакове значення.
Керування передається оператору case, який збігається зі значенням оператора switch. Виконання починається з вибраного оператора і продовжується до тих пір, поки оператор break не передасть керування за межі тексту case.
Оператор переходу, такий як break (або goto case, return або throw), потрібен після кожного блоку case, включаючи останній блок, незалежно від того, який з двох операторів - case або default - там використано.
Однак якщо ми хочемо, щоб, навпаки, після виконання поточного блоку case виконувався інший блок case, то ми можемо використовувати замість break оператор goto case.
Якщо жоден вираз case не збігається зі значенням оператора switch, керування передається операторам, наступним за необов'язковим позначенням default. Якщо позначення default немає, то керування передається за межі оператора switch.
Вивести кількість днів у місяці. Місяць вводимо кирилицею.
static void Main()
{
// Устанавливаем кодировку UTF-16 для ввода и вывода
Console.OutputEncoding = Encoding.Unicode;
Console.InputEncoding = Encoding.Unicode;
Console.WriteLine("Введите месяц =");
string A = Console.ReadLine()?.Trim().ToLower(); // Убираем лишние пробелы и переводим в нижний регистр
// Проверка и вывод введенного значения
if (!string.IsNullOrWhiteSpace(A))
{
Console.WriteLine($"Вы ввели: '{A}'");
// Анализ символов строки для проверки корректности ввода
foreach (char c in A)
{
Console.WriteLine($"Символ: '{c}', Код: {Convert.ToInt32(c)}");
}
}
else
{
Console.WriteLine("Строка ввода пустая или содержит только пробелы.");
}
switch (A)
{
case "січень":
case "березень":
case "травень":
case "липень":
case "серпень":
case "жовтень":
case "грудень": Console.WriteLine("31 день");
break;
case "лютий": Console.WriteLine("28 днів, а у високосному році 29 днів");
break;
case "квітень":
case "червень":
case "вересень":
case "листопад": Console.WriteLine("30 днів");
break;
}
Console.ReadKey();
}