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.
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 }
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.
Fuente Imágenes
Estructura: If / else en C++ by Roberto C. González is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.
El comando dnsenum es una herramienta de línea de comandos para realizar enumeración de DNS…
En esta entrada te presento 24 de las listas negras más comunes que los servidores…
ZoomIt es una herramienta de anotación y zoom de pantalla para presentaciones técnicas que incluyen…
WinObj es el visor de espacios de nombres de Object Manager definitivo. Es la primera…
Whois realiza el registro de registro para el nombre de dominio o la dirección IP…
VolumeID – Esta utilidad, le permite cambiar los identificadores de los discos FAT y NTFS…