Menu
Coddy logo textTech

Nested Switch Statements

Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 11 de 66.

Instruções switch aninhadas permitem que você coloque uma instrução switch dentro de outra para tomada de decisões mais complexas.

Crie um switch aninhado básico:

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;
}

Sempre inclua instruções break para evitar o fall-through para o próximo case.

Lembre-se de manter seu código legível com indentação adequada.

challenge icon

Desafio

Médio

Crie um método chamado calculatePrice que:

  1. Recebe três parâmetros:
    • productType (string): Seja "Electronics", "Clothing" ou "Food"
    • productTier (string): Seja "Basic", "Premium" ou "Luxury"
    • basePrice (int): O preço inicial do produto
  2. Retorna o preço final (int) após aplicar estas regras:
    • Para Electronics:
      • Basic: Adicione $50 ao preço base
      • Premium: Adicione $100 ao preço base
      • Luxury: Adicione $250 ao preço base
    • Para Clothing:
      • Basic: Adicione $10 ao preço base
      • Premium: Adicione $50 ao preço base
      • Luxury: Adicione $100 ao preço base
    • Para Food:
      • Basic: Sem alteração ao preço base
      • Premium: Adicione $15 ao preço base
      • Luxury: Adicione $30 ao preço base
    • Para qualquer outro tipo de produto ou nível, retorne o preço base inalterado

Folha de consulta

Instruções switch aninhadas permitem que você coloque uma instrução switch dentro de outra para tomada de decisões complexas:

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;
}

Sempre inclua instruções break para evitar a continuação para o próximo case e manter a indentação adequada para legibilidade.

Experimente você mesmo

public class CalculatePrice
{
    // Implemente o método calculatePrice
    public static int calculatePrice(string productType, string productTier, int basePrice)
    {
        // Escreva seu código aqui
        
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo