[C con Clase] Terminar bucle infinito

judit zallux3 en yahoo.es
Lun Sep 8 01:40:55 CEST 2008


El pasado 2008-09-07 23:23:53, Steven Davidson escribió:
 
SD> Hola Judit,
SD> judit wrote:
SD> > Creo que no me explique,, perdon.. yo me referia a terminar un bucle
SD> > cuando apretas una tecla o algo asi,,. es decir: comienzas un bucle y
SD> > pones una funcion que si apretas la tecla 'x' terminas el bucle y
SD> > continuas con el programa, si no apretas la tecla 'x' el bucle sigue
SD> > trabajando.
SD> Esto es diferente. De hecho, no veo que necesites un bucle infinito. 
SD> Acabas de dar la condición para salir del bucle y por tanto para 
SD> continuar en ello. El esquema sería el siguiente:
SD> bool bSalir = false;
SD> while( !bSalir )
SD> {
SD>    ...
SD>    if( hayTecla() )
SD>      bSalir = 'x' == leerTecla();
SD>    ...
SD> }
SD> O incluso,
SD> while( 'x' == leerTecla() )
SD> {
SD>    ...
SD> }
SD> Me temo que no podemos darte las funciones concretas, porque las 
SD> bibliotecas estándares de ANSI C no se dedican a tal comportamiento. Sin 
SD> embargo, existen bibliotecas no estándares que sí te ayudarían para 
SD> consultar y obtener las teclas pulsadas y no los caracteres escritos.
SD> En cualquier caso, no tenemos un bucle infinito. Podrías crear un bucle 
SD> infinito si de verdad lo necesitas. En este caso, sí tendríamos que usar 
SD> 'break' para salir del bucle. Por ejemplo,
SD> while( true )
SD> {
SD>    ...
SD>    if( hayTecla() && 'x' == leerTecla()  break;
SD>    ...
SD> }
SD> Espero que esto te oriente.
SD> Steven
muchas gracias a todos por las respuestas tan rapidas,,, otra pregunta (tengo que aclarar que soy muy novata en c, y me he quedado de momento practicando en bucles, estructuras, librerias y poco mas). donde puedo consultar librerias que no sean ansi c. ¿hay alguna pagina? -compilo en linux anjuta.
gracias 
judit


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