[C con Clase] Sentencia "continue"

David Fire ddfire en gmail.com
Vie Ene 22 20:24:34 CET 2010


en un switch evitar el use de un break es absurdo... a menos que lo cambies
por un reurn pero meter mucho codigo dentro de un case es espantoso...
se puede haceer algo asi como

switch(var)
case BLA:
     return(funcionbla);
case...
.
.
.

David


El 22 de enero de 2010 14:24, Mariano Demarchi <marchi.hh en gmail.com>escribió:

> El vocablo 'continue' sirve para saltar de inmediato al comienzo de una
>> estructura de control, como son los bucles y la sentencia 'switch/case'
>
> Mas bien diría que es para saltar al final del bloque de código de la
> estructura de control, sin salirse de ella.
>
> En general, no es aconsejable usar 'continue' ni 'break', porque no su
>> lógica es fácilmente detectable.
>>
> Para evitar el continue por lo general se puede encapsular el código que no
> debe ejecutar con un if, pero tampoco es recomendable el código demasiado
> anidado, por lo que no se cual es preferible.
> En el caso del break, una posible solución sería modificar la condición del
> bucle para que finalice, pero esto tiene una lógica aún mas elaborada y
> difícil de interpretar.
> Por esto es que no creo que evitar su uso sea recomendable (mediante un
> reemplazo). En todo caso, modificar el algoritmo para que no sean necesarios
> si puede ser recomendable, pero no reemplazarlos por otras alternativas.
>
> En cuanto a switch case, evitar el uso de break es practivamente imposible
> salvo casos muy extremos o con el uso de goto.
>
>
> Saludos
>
> El 21 de enero de 2010 18:19, Steven Davidson <srd4121 en njit.edu> escribió:
>
> Hola Pablo,
>>
>>
>> Pablo! wrote:
>>
>>> Hola tengo una duda sobre como es el funcionamiento de la sentencia
>>> continue, agradeceria una respuesta
>>>
>>
>> El vocablo 'continue' sirve para saltar de inmediato al comienzo de una
>> estructura de control, como son los bucles y la sentencia 'switch/case'. Por
>> ejemplo,
>>
>> while( num < 100 )
>> {
>>  cin >> num;
>>  if( num < 0 )  continue;  // Error: volvemos a pedir un número
>>
>>  cout << num*5;
>> }
>>
>> Aquí usamos 'continue' para volver a empezar el bucle para que el programa
>> vuelva a pedir otro número, ya que este código considera inválidos los
>> números negativos.
>>
>> En general, no es aconsejable usar 'continue' ni 'break', porque no su
>> lógica es fácilmente detectable.
>>
>> Sugiero consultar el capítulo 5 en nuestro curso de C++. El enlace es el
>> siguiente: http://c.conclase.net/curso/index.php?cap=005d#Se_continue
>>
>>
>> Espero haber aclarado la duda.
>>
>> Steven
>>
>>
>>
>> _______________________________________________
>> Lista de correo Cconclase Cconclase en listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100122/6209bcc7/attachment.html>


Más información sobre la lista de distribución Cconclase