Menu
Coddy logo textTech

Nested Switch Statements

Часть раздела Логика и управление потоком путешествия по C# на Coddy — урок 11 из 66.

Вложенные операторы switch позволяют поместить один оператор switch внутри другого для более сложного принятия решений.

Создайте простой вложенный switch:

string department = "Sales";
string level = "Senior";

switch (department)
{
    case "Sales":
        switch (level)
        {
            case "Junior":
                Console.WriteLine("Sales Junior");
                break;
            case "Senior":
                Console.WriteLine("Sales Senior");
                break;
        }
        break;
    case "IT":
        switch (level)
        {
            case "Junior":
                Console.WriteLine("IT Junior");
                break;
            case "Senior":
                Console.WriteLine("IT Senior");
                break;
        }
        break;
}

Всегда включайте операторы break, чтобы предотвратить проваливание в следующий case.

Помните, чтобы сохранять свой код читаемым с помощью правильных отступов.

challenge icon

Задание

Средне

Создайте метод с названием calculatePrice, который:

  1. Принимает три параметра:
    • productType (string): либо "Electronics", "Clothing" или "Food"
    • productTier (string): либо "Basic", "Premium" или "Luxury"
    • basePrice (int): начальная цена продукта
  2. Возвращает итоговую цену (int) после применения следующих правил:
    • Для Electronics:
      • Basic: добавить $50 к базовой цене
      • Premium: добавить $100 к базовой цене
      • Luxury: добавить $250 к базовой цене
    • Для Clothing:
      • Basic: добавить $10 к базовой цене
      • Premium: добавить $50 к базовой цене
      • Luxury: добавить $100 к базовой цене
    • Для Food:
      • Basic: без изменений базовой цены
      • Premium: добавить $15 к базовой цене
      • Luxury: добавить $30 к базовой цене
    • Для любого другого типа продукта или уровня верните базовую цену без изменений

Шпаргалка

Вложенные операторы switch позволяют поместить один оператор switch внутрь другого для сложной логики принятия решений:

string department = "Sales";
string level = "Senior";

switch (department)
{
    case "Sales":
        switch (level)
        {
            case "Junior":
                Console.WriteLine("Sales Junior");
                break;
            case "Senior":
                Console.WriteLine("Sales Senior");
                break;
        }
        break;
    case "IT":
        switch (level)
        {
            case "Junior":
                Console.WriteLine("IT Junior");
                break;
            case "Senior":
                Console.WriteLine("IT Senior");
                break;
        }
        break;
}

Всегда включайте операторы break, чтобы предотвратить проваливание в следующий case и поддерживать правильные отступы для читаемости.

Попробуйте сами

public class CalculatePrice
{
    // Реализуйте метод calculatePrice
    public static int calculatePrice(string productType, string productTier, int basePrice)
    {
        // Напишите свой код здесь
        
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком