El condicional if - Curso de C++ - Capítulo 10

Curso de c++ desde cero

Hemos llegado a un punto de lo más interesante en el curso, se trata de los condicionales. Con ellos, podrás hacer cosas que doten de cierta "inteligencia" a tus programas.
Podrás crear código que se ejecute solo bajo ciertas condiciones.

El flujo de ejecución de C++

Antes de empezar con los condicionales y con los bucles (tema que empezaremos al acabar con los condicionales), es importante que sepas que es el flujo de ejecución.

El flujo de ejecución es la forma en que se ejecuta un programa. El código se va leyendo desde la línea 1 hasta la última.

Este es el flujo de ejecución normal en C++, sin embargo, los condicionales y los bucles son capaces de alterarlo. En los próximos capítulos verás como.

El condicional if de C++

El condicional if de c++ es capaz de ejecutar un trozo de código solo si se cumple una condición. En caso de que no se cumpla, se va a ignorar.

El operador > mayor qué

Empecemos con un ejemplo utilizando el operador mayor qué >, el cual, permite hacer una comparación entre dos valores. ¿Es numero1 mayor que numero2?

Código C++

if (10 > 5) {
	cout << "El número 10 es mayor que 5";
}

terminal Resultado en la consola terminal

Puesto que 10 es mayor que 5, se ejecuta el código que hay dentro del if. Solo tiene una línea, pero podrían ser las que quisieras.

El número 10 es mayor que 5

En la lógica de C++, internamente, al ejecutarse el condicional if, se devuelve únicamente un valor booleano (boolean). Recuerda del capítulo 6, cuando mostré los tipos de datos, que un tipo boolean, puede dar un valor de true o false.

En el caso del ejemplo anterior, devuelve un true, la condición es verdadera. En el caso de que sea false, no se ejecutará nada del if.

Código C++

if (10 > 150) {
	cout << "El número 10 es mayor que 150";
}

terminal Resultado en la consola terminal

En la consola, no se ejecuta nada, puesto que la expresión del if es falsa.

Para que lo tengas claro, estas condiciones, solo afectan al código propio del if. El resto de código trabaja con normalidad.

El operador igual

Veamos un ejemplo utilizando todo lo que has aprendido hasta este punto. Voy a escribir un programa que permita que el usuario introduzca el número que quiera evaluar. Esto será como un minijuego muy simple.

El operador igual en C++ se expresa con el símbolo doble igual ==. Un solo igual (asignación) =, tal y como has visto hasta ahora, se utiliza para asignar valores.

Código C++

// Declaración de variables
int numero1;

// Se solicita un número
cout << "Escribe un número del 1 al 10." << endl;

// Se almacena el número
cin >> numero1;

// Se informa de su evaluación
cout << "Se va a evaluar tu número..." << endl;

// Se compara el número del usuario con el número en el programa
if (numero1 == 7) {
	cout << "Enhorabuena, has acertado." << endl;
}

// Independientemente del resultado, se imprime este mensaje
cout << "Fin del juego.";

terminal Resultado en la consola terminal

Probemos un número que no sea 7, para que el if devuelva false.

Escribe un número del 1 al 10.
10
Se va a evaluar tu número...
Fin del juego.

He introducido un 10. La condición no se ha cumplido y por lo tanto, se ejecuta todo, excepto el código que lleva el if.

Ahora probemos con un 7.

terminal Resultado en la consola terminal

Escribe un número del 1 al 10.
7
Se va a evaluar tu número...
Enhorabuena, has acertado.
Fin del juego.

Aunque muy rudimentario de momento, ya tienes tu primer programa en C++ que toma decisiones.

En el siguiente capítulo, veremos otras condiciones lógicas y añadiremos la posibilidad de que el programa realice alguna acción en el caso de que la condición del if de false.