Ir para conteúdo
  • Cadastre-se

[C++_switch] cases "aninhado"


Posts Recomendados

E aí galera, beleza?

Tô trazendo uma estrutura pro switch que eu achei bem interessante (vi num fórum). Não sei se seria correto chamar de case aninhado, mas foi a definição mais correta que encontrei ehauehau
"Ah, mas o que caralhos é switch"
Switch é uma estrutura de seleção que já tem um tutorial (antiguinho) aqui. Ele é comumente utilizado em menus etc, evitando a poluição do teu código com caralhadas de if/else/ else{if}.
Ao usar switch, a gente se separa com umas situações chatinhas. Um exemplo com uma função imaginaria:

  char x;
  cin >> x;
  switch(x){
    case 'a':
      abrirInventario(player);
      break;
    case 'A':
      abrirInventario(player);
      break;
  }

Eu tenho duas condições diferentes, mas na prática a única diferença vai ser o capslock, então eu quero que independente das duas condições, no nosso caso da letra ser maiúscula ou minúscula, a função abrirInventario(player) seja chamada. Dá pra fazer uma "gambiarra" com o funcionamento da estrutura do nosso case..break, deixando assim:

 

  char x;
  cin >> x;
  switch(x){
    case 'a':
    case 'A':
      abrirInventario(player);
      break;
}

Bem mais legível, né? E com a mesma funcionalidade. Essa seria basicamente o case 'a' or 'A'/case 'a' || 'A' tão insistida por quem tá aprendendo essa estrutura heaehaue

Masssss: essa é uma brincadeira com o break, não é algo "bonito". Para ocupar poucas linhas com escolhas aninhadas e elegantes, recomendo operadores ternários.

De onde eu venho se dizia, que o chorar não é do homem, e o homem o que sente guarda bem no coração...
 

Link para o post
Compartilhar em outros sites

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo