3.2.2. if-else

La sentencia if-else puede existir de dos formas: con o sin el else. Las dos formas son:

if (expresión)
    sentencia

ó

if (expresión)
    sentencia
else
    sentencia

La «expresión» se evalúa como true o false. La «sentencia» puede ser una simple acabada en un punto y coma, o bien una compuesta, lo que no es más que un grupo de sentencias simples encerradas entre llaves. Siempre que se utiliza la palabra «sentencia», implica que la sentencia es simple o compuesta. Tenga en cuenta que dicha sentencia puede ser incluso otro if, de modo que se pueden anidar.

//: C03:Ifthen.cpp
// Demonstration of if and if-else conditionals
#include <iostream>
using namespace std;

int main() {
  int i;
  cout << "type a number and 'Enter'" << endl;
  cin >> i;
  if(i > 5)
    cout << "It's greater than 5" << endl;
  else
    if(i < 5)
      cout << "It's less than 5 " << endl;
    else
      cout << "It's equal to 5 " << endl;

  cout << "type a number and 'Enter'" << endl;
  cin >> i;
  if(i < 10)
    if(i > 5)  // "if" is just another statement
      cout << "5 < i < 10" << endl;
    else
      cout << "i <= 5" << endl;
  else // Matches "if(i < 10)"
    cout << "i >= 10" << endl;
} ///:~

Listado 3.2. C03/Ifthen.cpp


Por convenio se indenta el cuerpo de una sentencia de control de flujo, de modo que el lector puede determinar fácilmente donde comienza y dónde acaba [39].



[39] Fíjese en que todas las convenciones parecen acabar estando de acuerdo en que hay que hacer algún tipo de indentación. La pelea entre los estilos de formateo de código no tiene fin. En el Apéndice A se explica el estilo de codificación que se usa en este libro.