programación en C++ desde cero.
y entérate de las novedades o deja un comentario.
Ültima modificación: 13-07-2018.
Visitas este mes: 1
Visitas el mes pasado:
Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de los manuales.:
En los distintos manuales incluimosm más webgrafía especifica de cada sección.
Si este sitio te parece interesante puedes contribuir con una pequeña aportación.
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.
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í:
#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; } }
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.
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.
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:
#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; } }
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.
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:
#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; }
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.
Sugerencias:
aprendeweb@aprende-web.net. Envia un
Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog
Más sobre anyelguti en http://anyelguti.16mb.com