• Los estatutos if implementan decisiones que implican una o dos alternativas, un estatuto if es anidada cuando la sentencia de la rama verdadera o la rama falsa es a su vez una sentencia if.
• Un estatuto if anidada se puede utilizar para implementar decisiones con varias alternativas o multi-alternativas
Sintaxis:
if (condición1)
estatuto1
else
if (condición2)
estatuto2
•
•
•
else
if (condiciónn)
estatuton
else
estatutoe
Si tenemos el siguiente fragmento de código:
if (condición 1)
if (condición 2)
estatuto;
else // este else pertenece al if de la condición 2, pues se
// se asocia al if más cercano
estatuto;
Si queremos que el else pertenezca al primer if debemos poner:
if (condición 1)
{
if (condición 2)
estatuto;
}
else // con el uso de llaves cerramos el if anidado y el else
estatuto; // pertenece al primer if
Ejemplo:
Determinar si un número es cero, positivo o negativo.
if (num == 0)
cout << " El número es cero";
else
if (num > 0)
cout << " El número es positivo";
else
cout << " El número es negativo";
Ejemplo I: Programa que lee 3 números enteros diferentes y los despliega de mayor a menor.
#include <iostream.h>
/* Declaración de variables globales */
int a,b,c;
int main()
{
cout << "Dame los 3 numeros "<< endl;
cin >> a >> b >> c;
if (a > b)
if ( b > c)
cout <<endl<< a << " " << b << " " << c <<endl;
else
if (c > a)
cout <<endl<< c << " " << a << " " << b <<endl;
else
cout <<endl<< a << " " << c << " " << b <<endl;
if ( a > c) {
if ( b > a)
cout <<endl<< b << " " << a << " " << c <<endl;
}
else
if ( b > c )
cout <<endl<< b << " " << c << " " << a <<endl;
else
if (c > b) {
if (b > a)
cout <<endl<< c << " " << b << " " << a <<endl;
}
system ("pause");
return 0;
}