28/03/2024
# Tags
#C++ #Programación

Estructura: If / else en C++

Anteriormente revisamos la instrucción if, con la cual podemos realizar decisiones simples en el flujo del programa, normalmente una decisión requiere controlar el caso en que sea verdadera y el caso cuando sea falsa, if solo permite controlar el caso verdadero, si queremos controlar el caso falso requerimos 2 sentencias if, por ejemplo:

// if2.cpp
// Uso de If para controlar las posibilidades verdadero / falso
// de una condición
// 2017, Por http://about.me/carlosgbr
// Versión 1
// Compilado en https://www.onlinegdb.com/online_c++_compiler
#include <iostream>
using namespace std;
int main()
{
    int edad;
    cout << "Escribe cuántos años tienes: ";
    cin >> edad;
    //Indica si el usuario es mayor de edad
    if (edad >= 18) {
    cout << "Puedes pasar";
    }
    //Indica si el usuario es mayor de edad
    if (edad < 18) {
    cout << "Acceso denegado, eres menor de edad";
    }
return 0;
}

Aunque funcional, C++ nos ofrece una estructura de control complementaria que simplifica la programación en estos casos.

If / else

Estructura if / else en C++
Estructura if / else en C++

La sentencia if / else controla las 2 posibilidades de una decisión, if ejecuta las instrucciones cuando la condición es verdadera, y else ejecuta las instrucciones para el caso en que la condición es falsa.

La sintaxis de la estructura if / else es la siguiente:

if (condición) {
 //Instrucciones cuando la condición es verdadera
 } else {
 //Instrucciones cuando la condición es falsa
}
En donde,

(condición), es una expresión que da como resultado un valor lógico (verdadero, falso), los paréntesis agrupando a la condición son obligatorios. { }, las llaves indican el alcance de la expresión de if y de la expresión else, respectivamente, son necesarias a menos que la instrucción esté formada solo por una sentencia.

//sentencias, las instrucciones que corresponden a la primera parte se ejecutarán si la condición es verdadera.  Si la condición es falsa se ejecutarán las instrucciones que se encuentran enseguida del else.

Reescribiendo el programa anterior utilizando if / else queda de la siguiente forma:

// ifelse.cpp
// Uso de If / else
// 2017, Por http://about.me/carlosgbr
// Versión 1
// Compilado en https://www.onlinegdb.com/online_c++_compiler
#include <iostream>
using namespace std;
int main()
{
    int edad;
    cout << "Escribe cuántos años tienes: ";
    cin >> edad;
    //Indica si el usuario es mayor de edad
    if (edad >= 18) {
        cout << "Puedes pasar";
    }
    else {
        cout << "Acceso denegado, eres menor de edad";
    }
    return 0;
}

Como puedes apreciar, éste código es bastante más eficiente y claro de leer. Dependiendo del valor de la condición, solo una de las 2 bifurcaciones se ejecutará

Al igual que la sentencia If, If / else es el mecanismo más simple que existe para hacer validaciones, tomar decisiones y dotar de cierta «inteligencia» a un programa, dependiendo de una entrada. A continuación se presenta un ejemplo típico con estructuras if / else

// ifpromedio.cpp
// Se ilustra la toma desición a partir de un promedio determinado utilizando
// la sentencia if / else
// 2017, Por http://about.me/carlosgbr
// Versión 1
// Compilado en https://www.onlinegdb.com/online_c++_compiler
#include <iostream>
using namespace std;
int main()
{
    //const minima = 6;
    //const exento = 9;
    float primero, segundo, tercero, cuarto;
    float promedio;
    cout << "Este programa te permite obtener el promedio de calificaciones de un" << endl;
    cout << "alumno, y determinar si está reprobado, aprobado o exento." << endl << endl;
    cout << "Escribe las calificaciones conforme se te indique, pulsa ENTER para aceptar" << endl;
    cout << "Primer periodo: ";
    cin  >> primero;
    cout << "Segundo periodo: ";
    cin  >> segundo;
    cout << "Tercer periodo: ";
    cin  >> tercero;
    cout << "Cuarto periodo: ";
    cin  >> cuarto;
    promedio = (primero + segundo + tercero + cuarto)/4;
    cout << "Tu promedio global es: " << promedio << endl;
    //Determinamos el estatus del alumno de acuerdo al promedio.
    if (promedio < 7) {
        cout << "Estás reprobado" << endl;
    }
    else {
        cout << "Estás aprobado, felicidades" << endl;
    }
    return 0;
}

Otras de los usos típicos de las condiciones es en la validación de entradas, por ejemplo al escribir una contraseña:

// ifelsepwd.cpp
// Uso de If / else
// 2017, Por http://about.me/carlosgbr
// Versión 1
// Compilado en https://www.onlinegdb.com/online_c++_compiler
#include <iostream>
using namespace std;
int main()
 {
 const int pwd = 1234; //contraseña válida de Acceso
 const string tel = "5658-1111";
 int pwdusr;
 cout << "Para poder mostrar el teléfono debes escribir la contraseña correcta" << endl;
 cout << "A continuación escribe la contraseña de acceso." << endl;
 cin >> pwdusr;
 if (pwdusr == pwd) {
 cout << "*** Contraseña correcta ***" << endl;;
 cout << "El teléfono del contacto es: " << tel << ", úsalo con criterio";
 }
 else {
 cout << "Contraseña errónea \b\b\b" << endl;
 cout << "Por seguridad, la información se ha eliminado";
 }
 return 0;
}

En resumen, siempre que requieras validar una entrada, o tomar una decisión a partir de una comparación la estructura de control if / else es la primera opción que podemos considerar.


eHack Logo

 

Fuente Imágenes

  • Todas las demás imágenes de esta sección»: by Nala Systems

Código Fuente

Licencia de Creative Commons
Estructura: If / else en C++ by Roberto C. González is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.
Estructura: If / else en C++

Estructura: If en C++

Estructura: If / else en C++

Bucle While en C++

Leave a comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *