Café y Código
⚡ C++ Básico· Lección 5

5. Condicionales: Bifurcaciones y Menús 🚦

Permite que tus programas reaccionen inteligentemente ante las decisiones del usuario: estructuras if/else, menús con switch y el operador ternario.

1. Estructura if / else if / else

Es el equivalente directo al Si - Sino Si - Sino de PSeInt. Las condiciones siempre van entre paréntesis y las instrucciones entre llaves:

calificaciones.cpp
CPP
1#include <iostream>
2
3int main() {
4 double calificacion = 8.5;
5
6 if (calificacion >= 9.0) {
7 std::cout << "Excelente (Sobresaliente)\n";
8 } else if (calificacion >= 6.0) {
9 std::cout << "Aprobado con buen desempeño\n";
10 } else if (calificacion >= 4.0) {
11 std::cout << "Aprobado regular\n";
12 } else {
13 std::cout << "Reprobado. Toca estudiar más.\n";
14 }
15 return 0;
16}
⚠️ El Peligro de Escribir = en vez de ==

Si escribes if (x = 5), C++ asignará el valor 5 a x. Y como 5 es diferente de cero, ¡la condición siempre evaluará como verdadera! Usa siempre doble igual (==) para comparar.

2. Menús Rápidos con switch-case

Cuando tienes una variable con opciones fijas (enteros o caracteres), switch es mucho más limpio que múltiples if encadenados:

menu_switch.cpp
CPP
1#include <iostream>
2
3int main() {
4 int opcion = 2;
5
6 switch (opcion) {
7 case 1:
8 std::cout << "Creando nuevo archivo...\n";
9 break; // ¡Vital para no caer al siguiente case!
10 case 2:
11 std::cout << "Abriendo archivo existente...\n";
12 break;
13 case 3:
14 std::cout << "Guardando cambios...\n";
15 break;
16 default:
17 std::cout << "Opción desconocida.\n";
18 break;
19 }
20 return 0;
21}

3. El Operador Ternario (? :)

Para asignar un valor a una variable según una condición en una sola línea elegante:

ternario.cpp
CPP
1int edad = 20;
2// condicion ? valor_si_verdadero : valor_si_falso
3std::string pase = (edad >= 18) ? "Permitido" : "Denegado";
4
5int mayor = (a > b) ? a : b;

Ejercicio: Clasificador de Rango de Notas

Pide al usuario su nota de 0 a 10. Si es menor que 4 imprime "Insuficiente", de 4 a 6.9 "Regular", de 7 a 8.9 "Bueno" y 9 o más "Excelente".

Ver solución
CPP
1#include <iostream>
2
3int main() {
4 double nota;
5 std::cout << "Ingresa la nota (0 a 10): ";
6 std::cin >> nota;
7
8 if (nota < 4.0) {
9 std::cout << "Insuficiente\n";
10 } else if (nota < 7.0) {
11 std::cout << "Regular\n";
12 } else if (nota < 9.0) {
13 std::cout << "Bueno\n";
14 } else {
15 std::cout << "Excelente\n";
16 }
17 return 0;
18}
Autoevaluación Formativa

Comprueba lo que Has Aprendido 🧠

Valida tu comprensión de estructuras if/else, switch-case y operador ternario.

Dato curioso: C++ apareció en 1985; Bjarne Stroustrup en Bell Labs. Wikipedia

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.