C ++ If ... else (con ejemplos)

En este tutorial, aprenderemos sobre la declaración if … else para crear programas de toma de decisiones con la ayuda de ejemplos.

En programación de computadoras, usamos la ifdeclaración para ejecutar un código de bloque solo cuando se cumple una determinada condición.

Por ejemplo, asignar calificaciones (A, B, C) basadas en las calificaciones obtenidas por un estudiante.

  • si el porcentaje es superior a 90 , asigne una calificación A
  • si el porcentaje es superior a 75 , asigne una calificación B
  • si el porcentaje es superior a 65 , asigne una calificación C

Hay tres formas de if… elsedeclaraciones en C ++.

  1. if declaración
  2. if… else declaración
  3. if… else if… else declaración

Declaración if de C ++

La sintaxis de la ifdeclaración es:

 if (condition) ( // body of if statement )

La ifdeclaración evalúa el conditioninterior del paréntesis ( ).

  • Si se conditionevalúa como true, ifse ejecuta el código dentro del cuerpo de .
  • Si se conditionevalúa como false, ifse omite el código dentro del cuerpo de .

Nota: El código interior ( )es el cuerpo de la ifdeclaración.

Funcionamiento de la declaración if de C ++

Ejemplo 1: instrucción if de C ++

 // Program to print positive number entered by the user // If the user enters a negative number, it is skipped #include using namespace std; int main() ( int number; cout <> 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

 Ingrese un entero: 5 Ingresó un número positivo: 5 Esta declaración siempre se ejecuta.

Cuando el usuario ingresa 5, number> 0se evalúa la condición truey ifse ejecuta la declaración dentro del cuerpo de .

Salida 2

 Ingrese un número: -5 Esta declaración siempre se ejecuta.

Cuando el usuario ingresa -5, la condición number> 0se evalúa falsey la declaración dentro del cuerpo de ifno se ejecuta.

C ++ si… si no

La ifdeclaración puede tener una elsecláusula opcional . Su sintaxis es:

 if (condition) ( // block of code if condition is true ) else ( // block of code if condition is false )

La if… elsedeclaración evalúa el conditioninterior del paréntesis.

Funcionamiento de C ++ si… si no

Si el conditionevalúa true,

  • ifse ejecuta el código dentro del cuerpo de
  • el código dentro del cuerpo de elsese omite de la ejecución

Si el conditionevalúa false,

  • elsese ejecuta el código dentro del cuerpo de
  • el código dentro del cuerpo de ifse omite de la ejecución

Ejemplo 2: C ++ declaración if… else

 // Program to check whether an integer is positive or negative // This program considers 0 as a positive number #include using namespace std; int main() ( int number; cout <> 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

 Ingrese un entero: 4 Ingresó un entero positivo: 4. Esta línea siempre se imprime.

En el programa anterior, tenemos la condición number>= 0. Si ingresamos el número mayor o igual a 0, entonces la condición se evalúa true.

Aquí, ingresamos 4. Entonces, la condición es true. Por lo tanto, ifse ejecuta la instrucción dentro del cuerpo de .

Salida 2

Ingrese un número entero: -4 Ingresó un número entero negativo: -4. Esta línea siempre se imprime.

Aquí ingresamos -4. Entonces, la condición es false. Por lo tanto, elsese ejecuta la instrucción dentro del cuerpo de .

C ++ if … else … else if sentencia

La if… elsedeclaración se utiliza para ejecutar un bloque de código entre dos alternativas. Sin embargo, si necesitamos hacer una elección entre más de dos alternativas, usamos la if… else if… elsedeclaración.

La sintaxis de la if… else if… elsedeclaración es:

 if (condition1) ( // code block 1 ) else if (condition2)( // code block 2 ) else ( // code block 3 )

Aquí,

  • Si se condition1evalúa como true, code block 1se ejecuta.
  • Si condition1evalúa a false, entonces condition2se evalúa.
  • Si condition2es así true, code block 2se ejecuta.
  • Si condition2es así false, code block 3se ejecuta.
¿Cómo si … else if … else funciona?

Nota: Puede haber más de una else ifdeclaración, pero solo una ify else.

Ejemplo 3: C ++ if… else… else if

 // Program to check whether an integer is positive, negative or zero #include using namespace std; int main() ( int number; cout <> 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

 Ingrese un número entero: 1 Ingresó un número entero positivo: 1. Esta línea siempre se imprime.

Salida 2

 Enter an integer: -2 You entered a negative integer: -2. This line is always printed.

Output 3

 Enter an integer: 0 You entered 0. This line is always printed.

In this program, we take a number from the user. We then use the if… else if… else ladder to check whether the number is positive, negative, or zero.

If the number is greater than 0, the code inside the if block is executed. If the number is less than 0, the code inside the else if block is executed. Otherwise, the code inside the else block is executed.

C++ Nested if… else

Sometimes, we need to use an if statement inside another if statement. This is known as nested if statement.

Think of it as multiple layers of if statements. There is a first, outer if statement, and inside it is another, inner if statement. Its syntax is:

 // outer if statement if (condition1) ( // statements // inner if statement if (condition2) ( // statements ) )

Notes:

  • We can add else and else if statements to the inner if statement as required.
  • The inner if statement can also be inserted inside the outer else or else if statements (if they exist).
  • We can nest multiple layers of if statements.

Example 4: C++ Nested if

 // C++ program to find if an integer is even or odd or neither (0) // using nested if statements #include using namespace std; int main() ( int num; cout <> num; // outer if condition if (num != 0) ( // inner if condition if ((num % 2) == 0) ( cout << "The number is even." << endl; ) // inner else condition else ( cout << "The number is odd." << endl; ) ) // outer else condition else ( cout << "The number is 0 and it is neither even nor odd." << endl; ) cout << "This line is always printed." << endl; )

Output 1

 Enter an integer: 34 The number is even. This line is always printed.

Output 2

 Enter an integer: 35 The number is odd. This line is always printed.

Output 3

 Enter an integer: 0 The number is 0 and it is neither even nor odd. This line is always printed.

In the above example,

  • We take an integer as an input from the user and store it in the variable num.
  • We then use an if… else statement to check whether num is not equal to 0.
    • If true, then the inner if… else statement is executed.
    • If false, the code inside the outer else condition is executed, which prints "The number is 0 and neither even nor odd."
  • The inner if… else statement checks whether the input number is divisible by 2.
    • If true, then we print a statement saying that the number is even.
    • If false, we print that the number is odd.

Notice that 0 is also divisible by 2, but it is actually not an even number. This is why we first make sure that the input number is not 0 in the outer if condition.

Note: As you can see, nested if… else makes your logic complicated. If possible, you should always try to avoid nested if… else.

Body of if… else With Only One Statement

If the body of if… else has only one statement, you can omit ( ) in the program. For example, you can replace

 int number = 5; if (number> 0) ( cout << "The number is positive." << endl; ) else ( cout << "The number is negative." << endl; )

with

 int number = 5; if (number> 0) cout << "The number is positive." << endl; else cout << "The number is negative." << endl;

The output of both programs will be the same.

Note: Although it's not necessary to use ( ) if the body of if… else has only one statement, using ( ) makes your code more readable.

More on Decision Making

En determinadas situaciones, un operador ternario puede reemplazar una if… elsedeclaració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, switchse puede usar la declaración. Para obtener más información, visite el conmutador de C ++.

Consulte estos ejemplos para obtener más información:

Programa C ++ para verificar si el número es par o impar

Programa C ++ para comprobar si un personaje es vocal o consonante.

Programa C ++ para encontrar el número más grande entre tres números

Articulos interesantes...