Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

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.


Hay tres formas de if...else sentencias 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 del if declaración es:

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

El if declaración evalúa el condition dentro de los paréntesis ( ) .

Nota: El código dentro de { } 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 ,

Si el condition evalúa false ,


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í,

Nota: Puede haber más de un 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:


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,

Nota: Como puede ver, 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.

Nota: Aunque no es necesario usar { } 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

  1. C# if, if...else, if...else if y declaración if anidada
  2. C++ while y do...while Bucle
  3. Clases y objetos de C++
  4. Gestión de memoria C++:nuevo y eliminar
  5. Herencia pública, protegida y privada de C++
  6. Función amiga de C++ y Clases amigas
  7. Declaración, sangría y comentarios de Python
  8. Clase interna y anidada de Java
  9. C++ Fecha y hora
  10. Sobrecarga de C++ (operador y función)
  11. Archivos y flujos de C++