Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: prometheus48 en 28 Enero 2012, 12:34 pm



Título: Control input...¿Enter?
Publicado por: prometheus48 en 28 Enero 2012, 12:34 pm
Hola,

Estaba programando cuando de repente me encontre con un problemilla.
Hay un bucle, en el que sus instricciones son mostrar en pantalla ">>> ", y despues recoger un dato tipo string.Pero quiero que si el usuario no introduce ningun dato,que se vuelva a recorrer el bucle, osea:
         -El programa muestra en pantalla ">>> "
         -El programa espera hasta que el usuario introduzca un dato
         -El usuario, en vez de introducir un dato pulsa enter
         -El bucle empieza otra vez
         -El programa muestra en pantalla ">>> "
         -...
¿Me entendeis?
No se como hacerlo.
Espero que alguien me ayude.

Salu2!


Título: Re: Control input...¿Enter?
Publicado por: DickGumshoe en 28 Enero 2012, 13:49 pm
No estoy seguro, pero si el bucle se repite cuando el usuario no mete ningún dato, puedes probar a que se repita cuando el usuario introduce
Código
  1. ("")

Pero repito, soy novato, y no sé si es así realmente.

Saludos.


Título: Re: Control input...¿Enter?
Publicado por: prometheus48 en 28 Enero 2012, 14:35 pm
Hola,

Gracias por tu respuesta, pero claramente no va a funcionar, ya que la tecla enter tiene un valor,
en ASCII es 13, si no me equivoco, pero no se implementarlo.

Salu2!


Título: Re: Control input...¿Enter?
Publicado por: DickGumshoe en 28 Enero 2012, 14:40 pm
¿Me podrías pasar tu código? Si es así, intentaré ver cuál es el error y eso.

Saludos.

EDITO:

Comparando el dato que mete con ("") sí sale. Mira:

Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. int main(){
  6.    char dato[20];
  7.    do{
  8.  
  9.    printf("<<<");
  10.    gets(dato);
  11.    }
  12.    while(strcmp(dato,"")==0);
  13.  
  14.    system("pause");
  15.    return 0;
  16. }
  17.  
  18.  

Espero haberte ayudado.

Saludos!