Sustitución de Break por otra cosa.

Iniciado por samur88, 12 Mayo 2011, 17:48 PM

0 Miembros y 2 Visitantes están viendo este tema.

samur88

Hola buenas.

Tengo una duda, según tengo entendido el uso del break en C esta obsoleto, pero sin embargo tengo un while donde lo tengo que usar por fuerza, quiero saber si el problema es mio, es decir que estoy haciendo algo mal y ese break se puede sustituir por otra cosa, o es que en realidad hay casos donde el uso del break es esencial.

La estructura que uso ahora es esta:
while(1) {
if(feof(fp)){break;}
...
}


Ya que si uso esto:
while(!feof(fp)){
....
}

me lee una vez de mas el archivo, es decir es como si se ejecutara el bucle una vez mas a lo que quiero..

Un saludo.

Queta

"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

samur88

Gracias :D Ya veo que no lo esta, pues no lo recuerdo, creo que lo leí en un  blog que el go to y el break estaban obsoletos.

Un saludo.

Queta

#3
De nada. En cuanto al goto no es que esté obsoleto, es totalmente innecesario, es más, se considera una mala costumbre (http://en.wikipedia.org/wiki/Structured_programming).
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

samur88

Muchas gracias, eso si lo leí que traía de cabezas a los programados antes de la programación estructurada.

Un saludo.

ShotgunLogic

Creo que el break no esta mal usarlo cuando tienes mas remedio, pero en general a los programadores no les suele gustar mucho abusar de break.

Otra forma que yo uso a veces en java es salir del bucle con un return ; en el caso de que el tipo de retorno sea void, o si ya sabes lo que hay que devolver devolviendolo, ya que normalmente en cada funcion(metodo) haces una cosa para tenerlo todo bien estructurado.

Saludos!
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.

samur88

Muchas gracias por la respuesta :D
Al final he hecho lo que dices, ya que era con la función fread y retornando el valor es mas seguro que lo que quería hacer.