Alternar declaração em C ++ - Como funciona - Sintaxe e Exemplos

Índice:

Anonim

O que é uma instrução Switch em C ++?

Instruções de caso de troca são declarações controladas que são consideradas como substitutas de declarações se-mais. É uma instrução de ramificação de várias vias que fornece uma maneira de organizar o fluxo de execução para partes do código com base no valor da expressão. Em um termo muito básico, uma instrução switch avalia uma expressão, a testa e a compara com os vários casos escritos no código. Assim que for encontrada uma correspondência com qualquer caso, o controle entrará nesse caso e começará a executar as instruções escritas nesse caso até que uma instrução de interrupção seja encontrada. Assim que uma declaração de interrupção aparece, a instrução switch termina e o controle do programa sai do switch.

Às vezes, pode acontecer que nenhum caso corresponda ao valor da expressão. Para esses casos, mencionamos um caso padrão que sempre será executado se nenhuma correspondência for encontrada. Os casos em um bloco de uma instrução switch são representados por diferentes números ou cadeias, conhecidos como identificadores. O valor da expressão ou o valor fornecido pelo usuário é comparado com esses casos até que a correspondência seja encontrada.

Sintaxe da instrução C ++ Switch

A sintaxe da instrução switch na linguagem de programação C ++ é fornecida abaixo:

switch( expression )
(
case value1:
//Block of code;
break;
case value2:
//Block of code;
break;
case valueN:
//Block of code
break;
default:
//Block of code
break;

Você deve manter as seguintes coisas em mente ao usar uma instrução Switch:

  1. Os rótulos de maiúsculas e minúsculas podem ser um número inteiro ou um caractere e devem ser exclusivos
  2. Os rótulos das caixas sempre terminam com ponto e vírgula.
  3. Mesmo que um rótulo de caso padrão não seja obrigatório, ele pode ser no máximo um, se definido.
  4. Você precisa de uma instrução de interrupção para tirar o controle do loop, caso contrário, todos os casos antes que uma interrupção seja executada.
  5. O rótulo padrão do caso não possui nenhuma posição específica.
  6. A instrução switch também pode ser aninhada.

Fluxograma da instrução Switch

Como o Switch Statement funciona em C ++?

Vamos entender o fluxo de controle descrito no fluxograma acima, a fim de obter uma melhor compreensão do fluxo de execução.

Uma expressão é passada com a instrução switch que é igual a um dos valores dos casos. Caso o valor não seja igual, o caso padrão é executado. O valor dessa expressão é então comparado com o identificador de caso ou o primeiro caso. Se o primeiro caso corresponder, o bloco de código associado ao primeiro caso será executado. Depois que a interrupção é encontrada, a execução é interrompida e você sai da instrução switch. No entanto, se o caso não corresponder, a execução fluirá para o próximo caso. Se esse caso corresponder, o segundo bloco de código será executado de outra forma, o fluxo verificará o próximo caso de maneira semelhante. Finalmente, se nenhum caso corresponder, o bloco de código padrão será executado.

Exemplos de instrução Switch em C ++

Vamos ver alguns dos exemplos da instrução switch em C ++.

Exemplo 1

Este exemplo dará mais clareza sobre o uso de instruções switch.

#include
using namespace std;
int main () (
char grade_report = 'D';
cout << "Your performance is: " << endl;
switch(grade_report) (
case 'A' :
cout << "Outstanding Result!\n" << endl;
break;
case 'B' :
cout << "Excellent Result!\n" << endl;
break;
case 'C' :
cout << "Good Result\n" << endl;
break;
case 'D' :
cout << "Satisfying Result\n" << endl;
break;
case 'F' :
cout << "Poor Result\n" << endl;
break;
default :
cout << "You did not appear for exam\n" << endl;
)
return 0;
)

Resultado:

Seu desempenho é: Resultado satisfatório

Exemplo 2

Este exemplo descreve o uso da instrução break em um switch. Se a instrução break não for especificada após o caso, o fluxo de execução continuará até encontrar a instrução break.

#include
using namespace std;
int main() (
int range_of_number=50;
switch (range_of_number) (
case 10:
case 20:
case 30:
cout << "The number is 10 or 20 or 30 " << endl;
break;
case 50:
case 55:cout << "This case also executes because there is no break " << endl;
cout << "\n" << endl;
case 60:
cout << "The number is either 40 or 50 or 60" << endl;
break;
default:
cout << "The number is greater than 60" << endl; ))

Resultado:

Este caso também é executado porque não há interrupção
O número é 40 ou 50 ou 60

Exemplo 3

#include
using namespace std;
int main()
(
int x = 10, y = 5;
switch(x==y && x+y<10)
(
case 1:
cout << "hi" << endl;
break;
case 0:
cout << "bye" << endl;
break;
default:
cout << " Hello bye " << endl;
))

Resultado:

tchau

Exemplo 4

Instrução de comutação aninhada

#include
using namespace std;
int main() (
int ID = 300;
int password = 1000;
cout << "Enter Your ID:\n " << endl;
scanf("%d", & ID);
switch (ID) (
case 300:
cout << "Enter your password:\n " << endl;
scanf("%d", & password);
switch (password) (
case 1000:
cout << "Welcome to the portal\n" << endl;
break;
default:
cout << "Enter correct password" << endl;
break;
)
break;
default:
cout << "Enter correct ID" << endl;
break;
))

Resultado:

Isso dependerá dos valores inseridos pelo usuário.

Saída 1:

Digite seu ID: 300
Digite sua senha: 1000
Bem vindo ao portal

Saída 2:

Digite seu ID: 100
Digite o ID correto

Saída 3:

Digite seu ID: 300
Digite sua senha: 000
Digite a senha correta

Conclusão

Você deve saber que o fluxo e a funcionalidade básicos da instrução switch permanecem os mesmos em todas as linguagens de programação. A diferença pode ser vista apenas na sintaxe geral, com base na linguagem de programação utilizada.

Artigos recomendados

Este foi um guia para a instrução Switch em C ++. Aqui discutimos o conceito, sintaxe, trabalho e exemplos de instrução Switch em C ++. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. Funções de seqüência de caracteres C ++
  2. O que é classe de modelo em C ++?
  3. Aplicações de C ++ no mundo real
  4. Guia de declaração de caso em Java
  5. Guia para a declaração do switch PHP