[C con Clase] hacer loop con switch

Jose Alvaro Dominguez ilgrim en gmail.com
Sab Oct 18 19:48:04 CEST 2008


El día 18 de octubre de 2008 7:35, Marco Ibarra
<guarjol_00 en hotmail.com> escribió:
> Soy nuevo en C++ y tambien en la lista de correo, estuve buscando la manera de regresar al principio de un switch sin la necesidad de goto (en caso de que exista tal manera), como ejemplo el siguiente codigo:
>

Te diré lo que me dijeron a mi cuando empece a estudiar programación
estructurada. En palabras de aquel profesor:"Si utilizáis Goto, vendrá
un grupo de tíos y os darán una paliza". Goto Malo. Goto Prohibido. Si
quieres usar Goto, utiliza un Spectrum y programa en Basic x-P.

Ahora en serio, el uso indiscriminado de Goto se carga los principios
de programación estructurada que rigen en C y eso es algo que ni
queremos ni es aceptable en un código supuéstamente bien escrito y
programado. Sí es cierto que bajo algunas circunstancias muy muy muy
muy muy muy muy muy muy muy muy especiales y cara a la optimización o
por requisitos muy concretos, puede hacerse la vista gorda y ser
necesario utilizarlo.

El 99.9% de las veces, cualquier cosa que pretendas hacer con Goto,
puedes hacerlo con algún tipo de bucle o mediante recursividad. No
creo que haga falta recordar aquellas palabras que creo que mucha
gente habrá escuchado alguna vez de:"No basta con que funcione, tiene
que estar bien planteado y bien programado".

Para esto, yo te recomendaría que te sentaras con lapiz y papel, y te
hicieses unos diagramas de flujo y un poco de pseudocodigo para
aclararte las ideas, en lugar de lanzarte a picar código a lo loco.

Alguna vez lo he comentado en algún otro correo a la lista: "Mas vale
perder 10 minutos en hacer un buen diseño, que perder 2 horas
tecleando sin saber muy bien que es lo que se busca". Recuerda que la
programación es eminentemente un proceso lógico y cerebral para el
cual no necesitas tocar para nada un ordenador. Por hacer una
analogía, viene a ser como realizar Sudokus a lo bestia.

Comentado todo esto, sólo me queda animarte y desearte suerte. Espero
que encuentres pronto con una solución óptima

Un saludo cordial.


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