C++ si, si... más y Anidado si... más
C++ si, si... más y Anidado si... más
En este tutorial, aprenderemos sobre la instrucción if...else para crear programas de toma de decisiones con la ayuda de ejemplos.
En la programación de computadoras, usamos el if...else instrucción para ejecutar un bloque de código bajo ciertas condiciones y otro bloque de código bajo diferentes condiciones.
Por ejemplo, asignar calificaciones (A, B, C) en función de las calificaciones obtenidas por un alumno.
- si el porcentaje está por encima de 90 , asigne la calificación A
- si el porcentaje es superior a 75 , asigne la calificación B
- si el porcentaje está por encima de 65 , asigne la calificación C
Hay tres formas de if...else sentencias en C++.
ifdeclaraciónif...elsedeclaraciónif...else if...elsedeclaración
Declaración if de C++
La sintaxis del if declaración es:
if (condition) {
// body of if statement
}
El if declaración evalúa el condition dentro de los paréntesis ( ) .
- Si el
conditionevalúa atrue, el código dentro del cuerpo deifse ejecuta. - Si el
conditionevalúa afalse, el código dentro del cuerpo deifse omite.
{ } es el cuerpo del if declaración.

Ejemplo 1:declaración if de C++
// Program to print positive number entered by the user
// If the user enters a negative number, it is skipped
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> number;
// checks if the number is positive
if (number > 0) {
cout << "You entered a positive integer: " << number << endl;
}
cout << "This statement is always executed.";
return 0;
} Salida 1
Enter an integer: 5 You entered a positive number: 5 This statement is always executed.
Cuando el usuario ingresa 5 , la condición number > 0 se evalúa a true y la declaración dentro del cuerpo de if se ejecuta.
Salida 2
Enter a number: -5 This statement is always executed.
Cuando el usuario ingresa -5 , la condición number > 0 se evalúa a false y la declaración dentro del cuerpo de if no se ejecuta.
C++ si...otro
El if declaración puede tener un else opcional cláusula. Su sintaxis es:
if (condition) {
// block of code if condition is true
}
else {
// block of code if condition is false
}
El if..else declaración evalúa el condition dentro del paréntesis.

Si el condition evalúa true ,
- el código dentro del cuerpo de
ifse ejecuta - el código dentro del cuerpo de
elsese salta de la ejecución
Si el condition evalúa false ,
- el código dentro del cuerpo de
elsese ejecuta - el código dentro del cuerpo de
ifse salta de la ejecución
Ejemplo 2:Declaración if...else de C++
// Program to check whether an integer is positive or negative
// This program considers 0 as a positive number
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> number;
if (number >= 0) {
cout << "You entered a positive integer: " << number << endl;
}
else {
cout << "You entered a negative integer: " << number << endl;
}
cout << "This line is always printed.";
return 0;
} Salida 1
Enter an integer: 4 You entered a positive integer: 4. This line is always printed.
En el programa anterior, tenemos la condición number >= 0 . Si introducimos el número mayor o igual a 0 , entonces la condición evalúa true .
Aquí, ingresamos 4 . Entonces, la condición es true . Por lo tanto, la declaración dentro del cuerpo de if se ejecuta.
Salida 2
Enter an integer: -4 You entered a negative integer: -4. This line is always printed.
Aquí, ingresamos -4 . Entonces, la condición es false . Por lo tanto, la declaración dentro del cuerpo de else se ejecuta.
C++ if...else...else if sentencia
El if...else La instrucción se utiliza para ejecutar un bloque de código entre dos alternativas. Sin embargo, si necesitamos elegir entre más de dos alternativas, usamos el if...else if...else declaración.
La sintaxis del if...else if...else declaración es:
if (condition1) {
// code block 1
}
else if (condition2){
// code block 2
}
else {
// code block 3
} Aquí,
- Si
condition1evalúa atrue, elcode block 1se ejecuta. - Si
condition1evalúa afalse, luegocondition2se evalúa. - Si
condition2estrue, elcode block 2se ejecuta. - Si
condition2esfalse, elcode block 3se ejecuta.

else if declaración pero solo una if y else declaraciones.
Ejemplo 3:C++ si... si no... si no
// Program to check whether an integer is positive, negative or zero
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> number;
if (number > 0) {
cout << "You entered a positive integer: " << number << endl;
}
else if (number < 0) {
cout << "You entered a negative integer: " << number << endl;
}
else {
cout << "You entered 0." << endl;
}
cout << "This line is always printed.";
return 0;
} Salida 1
Enter an integer: 1 You entered a positive integer: 1. This line is always printed.
Salida 2
Enter an integer: -2 You entered a negative integer: -2. This line is always printed.
Salida 3
Enter an integer: 0 You entered 0. This line is always printed.
En este programa, tomamos un número del usuario. Luego usamos el if...else if...else escalera para verificar si el número es positivo, negativo o cero.
Si el número es mayor que 0 , el código dentro del if se ejecuta el bloque. Si el número es menor que 0 , el código dentro del else if se ejecuta el bloque. De lo contrario, el código dentro del else se ejecuta el bloque.
C++ anidado si... más
A veces, necesitamos usar un if instrucción dentro de otro if declaración. Esto se conoce como anidado if declaración.
Piense en ello como múltiples capas de if declaraciones. Hay un primer if externo declaración, y dentro de ella hay otra, interior if declaración. Su sintaxis es:
// outer if statement
if (condition1) {
// statements
// inner if statement
if (condition2) {
// statements
}
} Notas:
- Podemos agregar
elseyelse ifdeclaraciones alifinterno declaración según sea necesario. - El
ifinterior declaración también se puede insertar dentro del exteriorelseoelse ifdeclaraciones (si existen). - Podemos anidar varias capas de
ifdeclaraciones.
Ejemplo 4:C++ anidado si
// C++ program to find if an integer is positive, negative or zero
// using nested if statements
#include <iostream>
using namespace std;
int main() {
int num;
cout << "Enter an integer: ";
cin >> num;
// outer if condition
if (num != 0) {
// inner if condition
if (num > 0) {
cout << "The number is positive." << endl;
}
// inner else condition
else {
cout << "The number is negative." << endl;
}
}
// outer else condition
else {
cout << "The number is 0 and it is neither positive nor negative." << endl;
}
cout << "This line is always printed." << endl;
return 0;
} Salida 1
Enter an integer: 35 The number is positive. This line is always printed.
Salida 2
Enter an integer: -35 The number is negative. This line is always printed.
Salida 3
Enter an integer: 0 The number is 0 and it is neither positive nor negative. This line is always printed.
En el ejemplo anterior,
- Tomamos un número entero como entrada del usuario y lo almacenamos en la variable num .
- Luego usamos un
if...elsedeclaración para verificar si num no es igual a0.- Si
true, luego el internoif...elsese ejecuta la sentencia. - Si
false, el código dentro del externoelsese ejecuta la condición, que imprime"The number is 0 and it is neither positive nor negative."
- Si
- El interior
if...elsedeclaración comprueba si el número de entrada es positivo, es decir, si num es mayor que 0 .- Si
true, luego imprimimos una declaración que dice que el número es positivo. - Si
false, imprimimos que el número es negativo.
- Si
if...else anidado complica tu lógica. Si es posible, siempre debe intentar evitar el if...else anidado .
Cuerpo de if...else con solo una instrucción
Si el cuerpo de if...else tiene solo una declaración, puede omitir { } en el programa. Por ejemplo, puede reemplazar
int number = 5;
if (number > 0) {
cout << "The number is positive." << endl;
}
else {
cout << "The number is negative." << endl;
} con
int number = 5;
if (number > 0)
cout << "The number is positive." << endl;
else
cout << "The number is negative." << endl; La salida de ambos programas será la misma.
{ } si el cuerpo de if...else tiene solo una declaración, usando { } hace que su código sea más legible.
Más sobre la toma de decisiones
En ciertas situaciones, un operador ternario puede reemplazar un if...else declaración. Para obtener más información, visite Operador ternario de C++.
Si necesitamos hacer una elección entre más de una alternativa basada en una condición de prueba dada, el switch Se puede utilizar la declaración. Para obtener más información, visite Cambio de C++.
Consulte estos ejemplos para obtener más información:
Programa C++ para comprobar si el número es par o impar
Programa en C++ para comprobar si un carácter es vocal o consonante.
Programa C++ para encontrar el número más grande entre tres números
Lenguaje C
- C# if, if...else, if...else if y declaración if anidada
- C++ while y do...while Bucle
- Clases y objetos de C++
- Gestión de memoria C++:nuevo y eliminar
- Herencia pública, protegida y privada de C++
- Función amiga de C++ y Clases amigas
- Declaración, sangría y comentarios de Python
- Clase interna y anidada de Java
- C++ Fecha y hora
- Sobrecarga de C++ (operador y función)
- Archivos y flujos de C++