Entendido.

Este sitio utiliza cookies para analizar la navegación.Si continúa navegando se entiende que acepta su uso. Ver más detalles.

Logo

Aprende Web C++

Aprende a programar en C++ con Aprende-Web

Nociones Básicas

programación en C++ desde cero.


Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net



Sobre ésta página

Ültima modificación: 13-07-2018.

Visitas este mes: 1

Visitas el mes pasado:

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de los manuales.:

cplusplus.com
Sitio oficial de C++: Informacion, Referencias, Tutorial, Foro. (En inglés)
Minidosis.org
Curso de C++ con videos y lecturas.
conclase.net
Curso de C++
programar ya
Curso de C++ desde cero
cprogramming.com
C++ Tutorial (inglés).
Entorno de desarrollo integrado
fergarciac.wordpress.com
Compiladores, intérpretes y Máquinas virtuales.
latecladeescape.com
el hacker.net
Programación
Desarrollo web
Manual de iniciación a la programación.

En los distintos manuales incluimosm más webgrafía especifica de cada sección.


Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.





4. Estructuras de control

4.2. estructura if else

Más de una condición

Logo C++ Basico

En la página anterior hemos visto la estructura condicional if, que nos permite ejecutar una parte del programa sólo si se cumple una cierta condición. Si no se cumple la condición indicada el programa no hace nada.

Tal como hemos visto, si queremos que se al cumplirse una segunda condición el programa ejecute otro código, entonces añadimos otra estructura if.

Esta segunda estructura if es independiente de la primera, de manera que nada tiene que ver una con la otra. Sólo dependiendo de las condiciones que pongamos en una y otra estructura es posible que se cumplan las dos condiciones, que no se cumpla ninguna, o que cuando una se cumpla la otra no, dependiendo, además de cada caso.

La palabra clave else

Si lo que queremos es que cuando la condición se cumpla se eecute un código, y cuando no se cumpla se ejecute otro distinto, lom que debemos de hacer es añadir después dela estructura if la palabra clave else, seguida del bloque de sentencias que debe ejecutarse cuando la condición no se cumple. La estructura completa es:

if (<condicion>) { <sentencias cuando SI se cumple>; } else { <sentencias cuando NO se cumple>; }

Es decir, el programa evalúa la condición escrita después del if, y si el resultado es verdadero se ejecuta el primer bloque de sentencias, pero si es falso se ejecutará el bloque que hay detrás del else.

En la página anterior hicimos un programa con dos esctucturas if, la primera indicaba lo que debía hacer el programa cuando el usuario escribe un número mayor que 10, y la segunda indicaba lo que debía de hacer cuando el número era igual o menor que 10.

Las dos estructuras if eran independientes una de otra. Aquí vamos a hacer lo mismo, pero con una escructura if ... else . El programa quedará así:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#include<iostream>
using namespace std;

int main(){
     int a;
     cout << "Escribe un numero mayor que 10 : ";
     cin >> a;
     if (a > 10) {
        cout << "Bien Hecho !! " << endl;
        cout << "El numero " << a << " es mayor que 10." << endl;
     }
     else {
        cout << "Numero equivocado!! " << endl;
        cout << "El numero " << a << " NO es mayor que 10." << endl;
     }
}
programa condicional else

Al compilar y ejecutar este archivo, el resultado es el mismo que en el programa visto en la página anterior, sin embargo aquí hemos usado la estructura if .. else, que es la forma correcta de hacerlo, ya que de esta manera aseguramos que el usuario siempre obtendrá una respuesta.

Varias opciones

Hasta ahora hemos visto cómo la estructura if y su variante if else trabajan con una sóla condición. Pero, ¿Qué ocurre si queremos comprobar varias condiciones, de manera que para cada una de ellas se ejecute un código distinto cuando la condición sea verdadera?

En este caso podemos poner variass condiciones independientes una de otra, de manera que cada una de ellas no tiene nada que ver con la otra. Pero si lo que queremos es que siempre haya una sóla respuesta, utilizaremos la variante if ... else if ... else if ... else.

Es decir, encadenamos varias estructuras if, de manera que el primer bloque lo empezamos por if (<condicion>) {...}; el segundo y siguientes bloques los empezamos por else if (<condicion>) {...}, para acabar el último bloque con else {...}.

La estructura quedará así

if (<condicion_1>) { <sentencias para opcion 1>; } else if (<condicion_2>) { <sentencias para opcion 2>; } else if (<condicion_3>) { <sentencias para opcion 3>; } ............................. else if (<condicion_n>) { <sentencias para opcion n>; } else { <sentencias para cuando no se cumple ninguna opcion>; }

Observese que escribimos siempreelse if (separado). unque algunos lenguajes de programación admiten también elseif (las dos palabras juntas), en C++ esto no se permite, y escrbiremos siempre else if.

Ejemplo 1: Elige operación:

En este ejemplo pedimos dos números al usuario, wel cual elige después la operación que va a realizar con ellos. Una vez elegida se realiza la operación con esos dos números. Veamos el código fuente:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
#include<iostream>
using namespace std;

int main() {
    cout << "OPERACIONES CON DOS NUMEROS" << endl;
    int a, b; char op; //Decalramos las variables
    cout << "Escribe un numero : ";cin >> a; //pedimos el primer número 
    cout << "Escribe otro numero : "; cin >> b; //pedimos el segundo número
    cout << "Tus numeros son " << a << " y " << b << endl; //confirmamos números
    cout << "Elige una operacion, para ello escribe su letra: " << endl; //explicación al usuario
    cout << "S = Suma; R = Resta; M = Multiplicacion; D = Division." << endl;
    cout << "Tu operacion : "; cin >> op; //pedimos operacion
    if ((op == 's') || (op =='S')) { //opción 1: Suma.
        cout << "Operacion : Suma " << endl;
        cout << a << " + " << b << " = " << a+b << endl;
    }
    else if ((op == 'r') || (op =='R')) { //opción 2: Resta
        cout << "Operacion : Resta " << endl;
        cout << a << " - " << b << " = " << a-b << endl;
    }
    else if ((op == 'm') || (op =='M')) { //opción 3: Multipliccion
        cout << "Operacion : Multiplicacion " << endl;
        cout << a << " * " << b << " = " << a*b << endl;
    }
    else if ((op == 'd') || (op =='D')) { //opción 4 División
        cout << "Operacion : Division " << endl;
        cout << a << " / " << b << " = " << a/b << endl;
    }
    else { //Respuesta para opción equivocada.
        cout << "La letra escrita no se corresponde con ninguna operacion." << endl;
    }
}
programa condicional else

Tras compilar y ejecutar el archivo fuente el usuario escribe dos números, y después elige la operación que quiere realizar con ellos.

El código fuente viene comentado para una mejor comprensión del mismo. Observa cómo tras recoger los datos, realizamos una estructura típica de condicional "else if" con la que controlamos las varias opciones posibles que puede darnos el usuario.

En la imagen se muestra un ejemplo de ejecución del programa. Tu puedes copiarlo y comprobarlo con otros posibles casos.

Ejemplo 2: Tu edad

En este segundo ejemplo pedimos la edad al usuario, y dependiendo del número que nos de le daremos diferentes respuestas. Este es su código fuente:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#include<iostream>
using namespace std;

int main(){
     int a;
     cout << "Tu edad : ";
     cin >> a;
     if (a < 0)
        cout << "No me lo creo, nadie tiene una edad negativa." << endl;
     else if (a < 18)
        cout << "Aún eres menor de edad." << endl;
     else if (a < 35)
        cout << "Eres una persona joven." << endl;
     else if (a < 50)
        cout << "Ya no eres tan joven." << endl;
     else if (a < 65)
        cout << "Eres una persona madura." << endl;
     else if (a < 85)
        cout << "Estas ya en la tercera edad." << endl;
     else if (a < 115)
        cout << "Eres un anciano muy mayor." << endl;
     else
        cout << "O eres el mas viejo del mundo o me estas mintiendo." << endl;
}
programa condicional else

Tras complilar y ejecutar el programa, éste pde la edad al usuario, dándole diferentes respuestas, según el número que escriba.

Observa cómo tras cada condicion, el bloque de opciones consta de una sola sentencia, por lo que no es necesario ponerla entre llaves.

El programa comprueba la primera sentencia, si esta es verdadera se ejecuta y ya no pasa al resto, si no es así pasa a la segunda, ahí hace lo mismo, es decir si es verdadera la ejecuta y se para, y si no pasa a la siguiente. Esto se va repitiendo en todas las opciones hasta llegar a la última (el else). Es por esto que en la condición se indica sólo el "menor que", (límite de edad por arriba), ya que en cada opcion, el límite de edad por abajo está descartado en las opciones anteriores.






En la siguiente página veremos otra estructura condicional para varias opciones.

Estructura Condicional Switch



Manual Básico de C++

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com