Ciclos y Bucles en C++: Guía Completa
Ciclos y Bucles en C++: Guía Completa
Los ciclos o también conocidos como bucles, son una estructura de control esencial
al momento de programar. Tanto C como C++ y la mayoría de los lenguajes
utilizados actualmente, nos permiten hacer uso de estas estructuras. Un ciclo o
bucle permite repetir una o varias instrucciones cuantas veces lo necesitemos, por
ejemplo, si quisiéramos escribir los números del uno al cien no tendría sentido
escribir cien líneas mostrando un numero en cada una, para esto y para muchísimas
cosas más, es útil un ciclo, permitiéndonos hacer una misma tarea en una cantidad
de líneas muy pequeña y de forma prácticamente automática.
Existen diferentes tipos de ciclos o bucles, cada uno tiene una utilidad para casos
específicos y depende de nuestra habilidad y conocimientos poder determinar en
qué momento es bueno usar alguno de ellos. Tenemos entonces a nuestra
disposición los siguientes tipos de ciclos en C++:
Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas o
simplemente estructuras cíclicas, estos ciclos, como su nombre lo sugiere, nos
permiten ejecutar una o varias líneas de código de forma iterativa, conociendo un
valor especifico inicial y otro valor final, además nos permiten determinar el tamaño
del paso entre cada "giro" o iteración del ciclo.
En resumen, un ciclo for es una estructura de control iterativa, que nos permite
ejecutar de manera repetitiva un bloque de instrucciones, conociendo previamente
un valor de inicio, un tamaño de paso y un valor final para el ciclo.
....
....
Bloque de Instrucciones....
....
....
Vamos ahora a ver línea por línea el anterior código para comprender todo y quedar
claros. Posteriormente veremos un ejemplo con valores reales.
Línea 1:
En esta línea está prácticamente todo lo esencial de un ciclo for. La sintaxis es
simple, tenemos una variable de control llamada i que es tipo entero (int), cabe notar
que la variable se puede llamar como nosotros lo deseemos y puede ser del tipo de
queramos también, sin embargo en la mayoría de los casos se usa la "i" como
nombre y el entero como tipo, pero somos libres de modificar esto a nuestro gusto.
Esta variable "i" se le asigna un valor inicial que puede ser cualquier número
correspondiente al tipo de dato asignado. Posteriormente lo que haremos será
especificar hasta donde irá nuestro ciclo por medio del valor final, ten en cuenta que
cada uno de estos componentes es separado por un punto y coma ";", también es
importante saber que la condición final puede ser cualquier cosa, mayor, menor,
mayor o igual, menor o igual, sin embargo no tiene sentido que la condición sea por
ejemplo un igual, pues nuestra variable de control siempre va a cambiar entre
valores, menores o mayores que el valor final deseado, si fuera un igual no
tendríamos un error de sintaxis, pero nuestro for básicamente no haría nada de
nada. Finalmente el ultimo componente de esta primer línea es el tamaño del paso,
este componente se especifica aumentando en la cantidad deseada la variable de
control.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como seguramente ya sabrás
indica que allí comienza el bloque de instrucciones que se ejecutaran cada vez que
el ciclo de un "giro". Esta llave no es del todo obligatoria, sin embargo si no la
ponemos solo se ejecutara dentro de nuestro ciclo la primera línea inmediatamente
posterior a la declaración del ciclo, de modo que si deseamos que se ejecuten varias
líneas dentro de nuestro ciclo, debemos usar las llaves
Línea 3 a 7:
En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo
de manera iterativa durante la ejecución del ciclo, este bloque podrá tener la
cantidad de líneas necesarias incluso, como veremos más adelante dentro de estas
podría haber uno o más ciclos, así que podrías tener todo un programa dentro de
un ciclo.
Línea 8:
En esta última línea hacemos uso de la llave cerrando "}", una vez más como
seguramente ya sabrás esta nos indica que allí termina el bloque del ciclo for y se
dará por terminada la ejecución de este para continuar ejecutando el resto del
algoritmo.
Vamos a retomar el ejemplo anterior, donde deseábamos sacar los números pares
entre el numero 50 y el 100, es un ejemplo sencillo con el que nos aseguraremos
de haber comprendido bien lo anterior:
Solución Ejemplo 1:
Como pudimos ver anteriormente, tenemos entonces que el valor inicial para
nuestro ciclo es el numero 50 y el valor final es el 100, además, dado que
necesitamos los números pares vamos a ir de dos en dos, así que el tamaño del
paso va a ser 2, teniendo estos 3 componentes identificados, estamos listos para
crear nuestro ciclo for así:
for(int i=50;i<=100;i+=2)
#include "iostream"
#include "stdlib.h"
int main()
for(int i=50;i<=100;i+=2)
system("PAUSE");
return 0;
Ahora veremos otro ejemplo sencillo en cual veremos que el ciclo for también puede
iterar disminuyendo el valor del contador, para comprender esto, lo que haremos
será imprimir por pantalla una cuenta regresiva desde el número diez hasta el cero,
veamos:
Solución Ejemplo 2:
Para este caso, debido a que queremos ir de un número mayor a uno más pequeño,
por lo tanto, para este ejemplo el valor inicial será 10 y el valor final será cero.
Adicional, el tamaño de paso será de 1 negativo, es decir, -1, así:
#include "iostream"
#include "stdlib.h"
int main()
}
system("PAUSE");
return 0;
Este código del ejemplo dos imprimirá por pantalla la serie numérica 10987654321
Para este ejemplo haremos algo un poco más complejo. El ejemplo consiste en
contar al interior de un ciclo for, cuántos números entre el 0 y el 10.000 son múltiplos
del 13. Para ello haremos uso del operador % (modulo) que obtiene el residuo de
una división y también usaremos un pequeño condicional para verificar que el
módulo sea cero al dividir por 13.
Solución Ejemplo 3:
Para este caso el valor inicial será 0 y el valor final será 10000. Adicional, el tamaño
de paso será de 1. Al interior del ciclo, en cada iteración verificaremos si el número
en el que estamos es divisible por trece o no y en caso afirmativo aumentaremos el
contador en una unidad así:
#include "iostream"
#include "stdlib.h"
int main()
system("PAUSE");
return 0;
Este ciclo for nos permitirá saber que existen 770 múltiplos del 13 en los números
del 0 al 10000.
En efecto los ciclos for, son bastante útiles, sin embargo, desde el punto de vista de
la eficiencia, es recomendable evitarlos en la medida de lo posible, siempre que
vayas a usar un ciclo for, deberías preguntarte primero si es totalmente necesario o
si existe una manera más efectiva de hacerlo. Evidentemente habrá situaciones en
las que será casi que imprescindible usar el ciclo for, pues por algo existen. Está
entonces en nuestra habilidad determinar cuándo usarlos y mejor aún cómo usarlos
de manera efectiva.
Ciclo while en C++. Estructura y sintaxis. Cómo y para qúe usar un ciclo while
en C++
Los ciclos while son también una estructura cíclica, que nos permite ejecutar una o
varias líneas de código de manera repetitiva sin necesidad de tener un valor inicial
e incluso a veces sin siquiera conocer cuando se va a dar el valor final que
esperamos, los ciclos while, no dependen directamente de valores numéricos, sino
de valores booleanos, es decir su ejecución depende del valor de verdad de una
condición dada, verdadera o falso, nada más. De este modo los ciclos while, son
mucho más efectivos para condiciones indeterminadas, que no conocemos cuando
se van a dar a diferencia de los ciclos for, con los cuales se debe tener claro un
principio, un final y un tamaño de paso.
Vamos a ver ahora como es la sintaxis de un ciclo while en C++, así estaremos
listos para usarlos en nuestros programas de ahora en adelante cada vez que lo
necesitemos
Sintaxis del Ciclo While en C++:
La sintaxis de un ciclo while es incluso más simple y "legible" que la del ciclo for en
C++, pues simplemente requerimos tener clara una condición de parada. En
realidad, en la mayoría de los lenguajes de alto nivel la manera de escribir un ciclo
while (la sintaxis) es incluso muy similar, así que con tan solo tener bien clara una
condición de finalización para el ciclo tendremos prácticamente todo hecho.
....
....
Bloque de Instrucciones....
....
....
Vamos entonces a ver línea por línea el anterior código para comprender todo y
quedar claros. Posteriormente veremos el ejemplo planteado anteriormente y su
solución.
Línea 1:
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como sabemos indica que allí
comienza un bloque de instrucciones que se ejecutaran cada vez que el ciclo de un
"giro". Esta llave no es del todo obligatoria, sin embargo, si no la ponemos solo se
ejecutara dentro de nuestro ciclo while la primera línea inmediatamente posterior a
la declaración del ciclo, de modo que si deseamos que se ejecuten varias líneas
dentro de nuestro ciclo, debemos usar las llaves
Línea 3 a 7:
En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo
de manera iterativa durante la ejecución del ciclo, este bloque podrá tener la
cantidad de líneas necesarias incluso, como veremos más adelante dentro de estas
podría haber uno o más ciclos, así que podrías tener todo un programa dentro de
un ciclo.
Línea 8:
En esta última línea hacemos uso de la llave cerrando "}", una vez más como
seguramente ya debemos saber esta nos indica que allí termina el bloque del ciclo
while y se dará por terminada la ejecución de este para continuar ejecutando el resto
del algoritmo.
No te preocupes si no comprendiste muy bien lo que acabo de escribir, estoy seguro
que con un par de ejemplos que veremos a continuación, te va a quedar todo claro
Ejemplo 1: Pedir números por pantalla hasta que alguno sea mayor a 100
Vamos a retomar el ejemplo anterior, donde queremos hacer que nuestro programa
le pida a un usuario una serie de números cualquiera y que solo dejaremos de
hacerlo cuando el usuario ingrese un número mayor a 100, una vez mas es un
ejemplo sencillo con el que nos aseguraremos de haber comprendido bien todos los
conceptos anteriores:
Solución Ejemplo 1:
Para solucionar esto, debemos tener clara cuál va a ser la condición que se debe
cumplir para que el ciclo este pidiendo el numero contantemente, el ciclo se va a
detener solo cuando el numero ingresado sea mayor que 100, así que la condición
para que se siga ejecutando es que el numero sea menor a 100, ¿Comprender la
lógica?, es simple si para que se detenga el numero debe ser mayor a 100, entonces
para seguirse ejecutando el numero debe ser menor o igual a 100, veámoslo
entonces
#include "iostream"
int numero;
system("PAUSE");
return 0;
En efecto los ciclos while, son bastante útiles, sin embargo, desde el punto de vista
de la eficiencia al igual que con los ciclos for, es recomendable evitarlos en la
medida de lo posible, siempre que vayas a usar un ciclo while o cualquier tipo de
ciclo en realidad, deberías preguntarte primero si es totalmente necesario o si existe
una manera más efectiva de hacerlo. Evidentemente habrá situaciones en las que
será casi que imprescindible usar el ciclo, pues por algo existen, esta entonces en
nuestra habilidad determinar cuándo usarlos y mejor aún como usarlos de manera
efectiva.
La sintaxis de un ciclo do-while es un tanto más larga que la del ciclo while en C++,
sin embargo, no se hace más complicado, de hecho, con tan solo tener bien clara
una condición de finalización para el ciclo tendremos prácticamente todo terminado.
do
....
....
Bloque de Instrucciones....
....
....
Línea 1:
Esta línea es por decirlo así, la parte novedosa del ciclo do-while, esta expresión no
evalúa ninguna condición ni nada, simplemente da paso directo al bloque de
instrucción y luego permite la evaluación de la condición.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como sabemos indica que allí
comienza un bloque de instrucciones que se ejecutaran cada vez que el ciclo de un
"giro". Esta llave no es del todo obligatoria, sin embargo si no la ponemos solo se
ejecutará dentro de nuestro ciclo la primera línea inmediatamente posterior a la
instrucción do, de modo que si deseamos que se ejecuten varias líneas dentro de
nuestro ciclo, debemos usar las llaves. En lo personal, es preferible poner siempre
las llaves sin importar cuantas líneas se vayan a ejecutar, es una buena práctica de
programación y te puede evitar dolores de cabeza
Línea 3 a 7:
En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo
de manera iterativa durante la ejecución del ciclo, este bloque podrá tener la
cantidad de líneas necesarias incluso, como veremos más adelante dentro de estas
podría haber uno o más ciclos, así que podrías tener todo un programa dentro de
un ciclo.
Línea 8:
En esta última línea hacemos uso de la llave cerrando "}", una vez más como
seguramente ya debemos saber esta nos indica que allí termina el bloque de
instrucciones que se ejecutarán de manera cíclica y se dará por terminada la
ejecución de este para continuar ejecutando el resto del algoritmo.
Línea 9:
Ejemplo 1: Pedir números por pantalla hasta que alguno sea mayor a 100
Vamos a retomar el ejemplo anterior, donde queremos hacer que nuestro programa
le pida a un usuario una serie de números cualquiera y que solo dejaremos de
hacerlo cuando el usuario ingrese un número mayor a 100, una vez más es un
ejemplo sencillo con el que nos aseguraremos de haber comprendido bien todos los
conceptos anteriores, vamos a ver cómo hacer lo mismo con dos tipos de ciclos
diferentes (el while y el do-while), sin embargo vamos a ver como con uno es más
eficiente que con el otro:
Solución Ejemplo 1:
Para solucionar esto, debemos tener clara cuál va a ser la condición que se debe
cumplir para que el ciclo este pidiendo el número constantemente. El ciclo se va a
detener solo cuando el número ingresado sea mayor que 100, así que la condición
para que se siga ejecutando es que el número sea menor a 100, ¿Comprender la
lógica?, es simple si para que se detenga el número debe ser mayor a 100, entonces
para seguirse ejecutando el numero debe ser menor o igual a 100, veámoslo
entonces
#include "iostream"
int main()
int numero;
do
system("PAUSE");
return 0;
Nota: Como podrás comprobar, ambos códigos hacen lo mismo, haciendo uso del
ciclo while o del ciclo do while, sin embargo con el ciclo do-while, hemos obtenido
un beneficio interesante, primero que todo hemos podido evitar tener que inicializar
la variable numero, segundo también pudimos eliminar las líneas repetidas donde
se pedía el numero por fuera del ciclo y luego al interior del ciclo, aquí lo hicimos
solo al interior, pues la condición se evaluaba mucho más abajo.
Nota 2: Si no comprendes alguna de las líneas de estos códigos, te recomiendo
visitar los contenidos anteriores (Entrada y Salida de Datos, Librerías ó
Comentarios, Estructura de un Programa) o también puedes dejar un comentario al
final de la sección con tu pregunta.
Cuando vemos por primera vez el ciclo do-while, se nos viene de inmediato la
pregunta de cuál es la diferencia entre un do-while y un while. Y no quedamos muy
seguros de poder saber cuándo usar uno u otro, así que aquí te explico.
#include "iostream"
int main()
int opcion = 0;
do
while(opcion != 0);
system("PAUSE");
return 0;
Como puedes ver y comprobar, es un código sencillo y mientras que el usuario del
programa no ingrese cero en la consola, el programa seguirá mostrando las
diferentes opciones.
#include "iostream"
int main()
while(opcion != 0)
{
system("PAUSE");
return 0;
En este caso, vemos que, por supuesto, con el ciclo while también podemos
conseguir lo mismo, PERO modificando algunas cosas con relación a la opción. En
general, el mayor aspecto negativo de usar un while en este caso, en lugar de un
do-while, es que ya hemos evaluado la opción sin siquiera habérsela solicitado al
usuario por primera vez, lo cual nos obliga a darle un valor inicial a la variable
"opcion" (un -1), para asegurarnos de que el ciclo se ejecute al menos una vez y el
usuario tenga la opción de ver el menú e ingresar la acción que desea ejecutar.
En efecto, los ciclos do-while son bastante útiles. Sin embargo, como con cualquier
ciclo desde el punto de vista de la eficiencia al igual que con los ciclos for, es
recomendable evitarlos en la medida de lo posible, siempre que vayas a usar un
ciclo do-while o cualquier tipo de ciclo en realidad, deberías preguntarte primero si
es totalmente necesario o si existe una manera más efectiva de hacerlo.
Evidentemente habrá situaciones en las que será casi que imprescindible usar el
ciclo, pues por algo existen, está entonces en nuestra habilidad determinar cuándo
usarlos y mejor aún como usarlos de manera efectiva.
Existen diferentes tipos de condicionales, cada uno tiene una utilidad y funcionalidad
diferente, que consideran diferentes situaciones que se pueden llegar a presentar
durante la ejecución de un algoritmo. Depende entonces del conocimiento que
tengamos acerca de cada uno de los condicionales saber determinar correctamente
cuando es necesario implementar uno u otro. Tenemos a nuestra disposición los
siguientes tipos de condicionales en C++:
Condicional If en C++
Los condicionales if, son una estructura de control condicional, también llamadas
estructuras selectivas de casos simples (porque solo definen un posible flujo), lad
cuales nos permiten tomar cierta decisión al interior de nuestro algoritmo, es decir,
nos permiten determinar qué acciones ejecutar según cierta condición sea
verdadera, por ejemplo determinar si un número cualquiera es mayor que 10 y de
acuerdo a esto mostrar un mensaje (o cualquier acción que sea necesaria).
Básicamente, un condicional if, es una estructura que nos posibilita definir las
acciones a ejecutar si se cumple cierta condición y de ese modo modificar la
ejecución de tareas en un programa según se necesite.
Para comprender mejor cómo funciona el condicional if, una muy buena forma es
partiendo de un ejemplo. Supongamos que queremos verificar si el resultado de una
suma ingresada por el usuario es correcto o no. Para este ejemplo, el condicional if,
es el encargado de verificar si el resultado ingresado corresponde o no a la
respuesta correcta de la suma. El condicional if, funciona verificando la condición
ingresada y de acuerdo a su valor de verdad (falso o verdadero) lleva a cabo o no
una serie de instrucciones.
....
....
....
....
....
....
Línea 1:
En esta línea está prácticamente todo lo esencial del condicional, aquí le hemos
dicho al interior del argumento del condicional if, cual es la condición que se debe
cumplir para que se ejecute el primer bloque de instrucciones, esta línea es en
efecto esencial ya que nos da la pauta para que el algoritmo determine si ejecutará
o no el bloque de instrucciones al interior de las llaves.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como seguramente ya sabrás
indica que allí comienza el bloque de instrucciones que se ejecutarán si se cumple
la condición dada. Esta llave no es del todo obligatoria, sin embargo si no la
ponemos solo se ejecutara dentro de nuestro ciclo la primera línea inmediatamente
posterior a la declaración del condicional, de modo que si deseamos que se ejecuten
varias líneas dentro de nuestro condicional, debemos usar las llaves
Línea 3 a 7:
En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo
en caso de cumplirse la condición, este bloque podrá tener la cantidad de líneas
necesarias incluso, como veremos más adelante dentro de estas podría haber uno
o más condicionales en su interior, así que podrías tener lo que se conoce como
condicionales anidados (ya veremos eso más adelante).
Línea 8:
En esta línea hacemos uso de la llave cerrando "}", una vez más como seguramente
ya sabrás esta nos indica que allí termina el bloque del condicional y se dará por
terminada la ejecución de este para continuar ejecutando el resto del programa.
Línea 9 a 11
Estas líneas contienen la estructura restante del algoritmo, quise ponerlas allí, para
que quede claro que sin importar si la condición se cumple o no, el algoritmo siempre
va a ejecutar estas líneas, es decir las líneas que se encuentran después de la llave
de cierre de un condicional, siempre se ejecutarán sin importar si la condición se
cumpla o no.
Solución Ejemplo 1:
#include "iostream"
int resultado = 0;
if(resultado == 39+50)
system("PAUSE");
Los condicionales if-else, son una estructura de control, que nos permiten tomar
cierta decisión al interior de nuestro algoritmo, es decir, nos permiten determinar
qué acciones tomar dada o no cierta condición, por ejemplo, determinar si la
contraseña ingresada por el usuario es válida o no y de acuerdo a esto darle acceso
al sistema o mostrar un mensaje de error.
Se les conoce también como estructuras selectivas de casos dobles (porque definen
ambas posibilidades en la ejecución --si se cumple y si no se cumple --).
En resumen, un condicional if-else es una estructura que nos posibilita definir las
acciones que se deben llevar a cabo si se cumple cierta condición y también
determinar las acciones que se deben ejecutar en caso de que no se cumpla;
generando así una separación o bifurcación en la ejecución del programa,
ejecutando ciertas acciones u otras a partir de la evaluación de una condición dada.
Para comprender mejor cómo funciona el condicional if-else, una muy buena forma
es partiendo de un ejemplo. Imaginemos que en nuestro programa, deseamos
implementar un sistema de logeo de usuario, comprobando si la información
suministrada coincide con unos los valores correctos y en este caso mostrar un
mensaje de bienvenida, y en caso de que no, se mostrará un mensaje de error.
Como podemos imaginar, es entonces necesario hacer que nuestro algoritmo, tome
una decisión, de acuerdo a los valores ingresados por el usuario, y definir los dos
casos posibles en caso de fallo o en caso de que no. Es para esto que sirve el
condicional if-else, nos permite definir una condición que se debe cumplir y de
acuerdo a su cumplimiento o no tomar una acción correspondiente. Espero haber
sido claro, sino, no te preocupes, pues veremos ya mismo algunos ejemplos para
entender todo mejor.
....
....
....
....
else
....
....
....
....
Línea 1:
En esta línea está prácticamente todo lo esencial del condicional, aquí le hemos
dicho al interior del argumento del condicional if, cual es la condición que se debe
cumplir para que se ejecute el primer bloque de instrucciones, esta línea es en
efecto esencial ya que nos da la pauta para que el algoritmo determine que bloque
de instrucciones ejecutar.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como seguramente ya sabrás
indica que allí comienza el bloque de instrucciones que se ejecutarán si se cumple
la condición dada. Esta llave no es del todo obligatoria, sin embargo si no la
ponemos solo se ejecutará dentro de nuestro condicional la primera línea
inmediatamente posterior a la declaración del condicional, de modo que si
deseamos que se ejecuten varias líneas dentro de nuestro condicional, debemos
usar las llaves
Línea 3 a 7:
En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo
en caso de cumplirse la condición, este bloque podrá tener la cantidad de líneas
necesarias incluso, como veremos más adelante dentro de estas podría haber uno
o más condicionales en su interior, así que podrías tener todo un condicional dentro
de un condicional dentro de otro condiconal... y así sucesivamente jejeje.
Línea 8:
En esta última línea hacemos uso de la llave cerrando "}", una vez más como
seguramente ya sabrás esta nos indica que allí termina el bloque del condicional y
se dará por terminada la ejecución de este para continuar ejecutando el resto del
programa, cabe notar que esta línea dará paso a la ejecución del bloque de
instrucciones del else, en caso de que la condición dada no se haya cumplido.
Línea 9 a 16
Estas líneas contienen la estructura else, que es la que indica que existe un bloque
de instrucciones que se debe ejecutar en caso de que la condición dada no se
cumpla. Este bloque al igual que el del condicional if, se abre y se cierra con llaves,
recuerda que estas pueden ser opcionales, sin embargo siempre recomiendo
usarlas como una buena práctica de programación.
No te preocupes si no comprendiste muy bien lo que acabo de escribir, estoy seguro
que con un par de ejemplos que veremos a continuación, te va a quedar todo claro
Solución Ejemplo 1:
#include "iostream"
#include "string"
#include "stdlib.h"
using namespace std;
int main()
if(password == "myClave")
else
system("PAUSE");
return 0;
Los condicionales Switch, son una estructura de control condicional, que permite
definir múltiples casos que puede llegar a cumplir una variable cualquiera, y qué
acción tomar en cualquiera de estas situaciones, incluso es posible determinar qué
acción llevar a cabo en caso de no cumplir ninguna de las condiciones dadas.
break;
break;
break;
//Nótese que valor 1 2 y 3 son los valores que puede tomar la opción
Línea 1:
Aquí, tenemos la declaración del condicional switch, estamos diciendo que lo que
viene a continuación es esto, entre los paréntesis, el switch recibe la variable que
vamos a usar para comparar en cada uno de los casos.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como hemos visto en secciones
anteriores, indica que allí comienzan los bloques de instrucciones que se ejecutarán
para cada caso.
Línea 3:
En esta línea tenemos una parte vital del condicional switch, aquí tenemos definido
un caso posible que puede cumplir nuestra variable, la sintaxis es simple, usamos
la instrucción "case" para indicar que allí comienza un caso, luego indicamos el valor
que puede tomar la variable, puede ser un numero, una cadena de caracteres o lo
que necesitemos, de esto se siguen dos puntos ":" y después de estos ponemos la
o las instrucciones a ejecutar para este caso, como ejemplo, podríamos tener algo
como esto : case "Hola": cout << "Usted ha escrito Hola";.
Línea 4:
Esta línea contiene la instrucción break, es una instrucción simple, pero fundamental
al interior del condicional Switch, esta instrucción indica que hasta allí va el bloque
de instrucciones del caso inmediatamente anterior a este, de este modo evitamos
que el algoritmo ejecute los demás casos, a modo de ejercicio, podrías intentar
ejecutar el código del ejemplo que veremos más adelante y quitar las instrucciones
break, con esto podrás comprobar que si el usuario ingresa por ejemplo un 1, se
ejecutarán todos los casos, es por esto que el break es fundamental.
Línea 5 a 8
Estas líneas como deberías saber ya, contienen diferentes comentarios aclarativos
sobre el código, en caso de que no comprendas adecuadamente estas líneas, te
recomiendo visitar la sección de comentarios.
Línea 11
Esta línea cambia un poco con respecto a las anteriores, sin embargo conserva la
misma esencia, en vez de poner el comando "case", usamos el comando "default",
y luego los 2 puntos ":", notemos que no se pone ningún valor a evaluar, pues esta
es la acción que se ejecuta en caso de que no lleguemos a entrar en ninguno de los
casos.
Línea 13:
En esta línea hacemos uso de la llave cerrando "}", una vez más como seguramente
ya sabrás esta nos indica que allí termina el bloque del condicional y se dará por
terminada la ejecución de este para continuar ejecutando el resto del programa.
Solución Ejemplo 1:
# include "iostream"
int main()
int opcion = 0;
switch(opcion)
{
case 1: cout << "Usted ha seleccionado la opción 1";
break;
break;
break;
return 0;
Vamos a retomar el ejemplo anterior, pero en esta ocasión vamos a usar caracteres
(char) de C++, para determinar las opciones ingresadas por el usuario.
# include "iostream"
char opcion;
switch(opcion)
break;
break;
break;
return 0;
Dentro de cada case eres libre de poner varias líneas de código, incluso otras
estructuras como condicionales o ciclos. Sin embargo, es preferible mantener tu
código ordenado y no poner muchas. Recomendaría no poner más de 5 y
preferiblemente solo una. Si deseas hacer tareas complejas al interior de un case
de un switch en C++, posiblemente sea mejor hacer esas tareas en una función y
llamar a esa función desde el case o simplemente usar un if-else.