Estruturas de decisão

As estruturas de decisão em C++ permitem que um programa escolha diferentes caminhos de execução com base em condições lógicas, tornando o código mais flexível e inteligente. As principais estruturas de decisão são o if (com ou sem else) e o switch.

1. Estrutura if e if-else

A estrutura if avalia uma condição. Se ela for verdadeira, executa um bloco de comandos; caso contrário, pode executar outro bloco com o else (opcional).

Sintaxe:

if (condição) {
// comandos se verdadeiro
} else {
// comandos se falso (opcional)
}

Exemplo:

#include <iostream>
using namespace std;

int main() {
int nota1, nota2, media;
cout << "Digite a Nota 1: ";
cin >> nota1;
cout << "Digite a Nota 2: ";
cin >> nota2;

media = (nota1 + nota2) / 2;

if (media >= 6) {
cout << "Aluno Aprovado" << endl;
} else {
cout << "Aluno Reprovado" << endl;
}
return 0;
}

Neste exemplo, o programa calcula a média e decide, com base no valor, se o aluno está aprovado ou reprovado.

2. Estrutura switch

O switch é usado para decisões de múltipla escolha, quando uma variável pode assumir vários valores distintos. Ele é mais organizado do que vários if-else encadeados para esse tipo de situação.

Sintaxe:

switch (variavel) {
case constante1:
// comandos
break;
case constante2:
// comandos
break;
// ...
default:
// comandos se nenhum caso for atendido
}

Exemplo:

#include <iostream>
using namespace std;

int main() {
int opcao;
cout << "Escolha uma opção (1 ou 2): ";
cin >> opcao;

switch(opcao) {
case 1:
cout << "Você escolheu a opção 1." << endl;
break;
case 2:
cout << "Você escolheu a opção 2." << endl;
break;
default:
cout << "Opção inválida." << endl;
}
return 0;
}

O switch avalia a variável opcao e executa o bloco correspondente ao valor informado. O comando break encerra cada caso, e o default é executado se nenhum valor corresponder.

3. Observações e Boas Práticas

  • O bloco else e o default são opcionais, mas recomendados para tratar situações inesperadas.
  • Para condições complexas, use if-else. Para múltiplas opções fixas, prefira switch.
  • As estruturas de decisão são essenciais para implementar lógica condicional em qualquer programa C++.