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
elsee odefaultsão opcionais, mas recomendados para tratar situações inesperadas. - Para condições complexas, use
if-else. Para múltiplas opções fixas, prefiraswitch. - As estruturas de decisão são essenciais para implementar lógica condicional em qualquer programa C++.
