SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Valtiel en Domingo 3 de Junio de 2007, 09:29

Título: Pequeña Consulta Sobre El Scanf.
Publicado por: Valtiel en Domingo 3 de Junio de 2007, 09:29
Resulta que estoy haciendo un programa que contiene varios menus, y necesito que al escanear una variable para acceder a una determinada opcion, esta ingrese inmediatamente, es decir, que si hago un scanf("%d",numero), al ingresar el numero no tenga que apretar enter ni nada, solo apretar el numero (sin que lo muestre en pantalla) e ingrese a dicha opcion.

Como puedo hacer eso?.
Título: Re: Pequeña Consulta Sobre El Scanf.
Publicado por: AnioN en Domingo 3 de Junio de 2007, 13:43
primero que para llamar a scanf es asi:
Código: Text
  1. scanf("%d",&numero);
  2.  
Título: Re: Pequeña Consulta Sobre El Scanf.
Publicado por: Toph en Lunes 4 de Junio de 2007, 00:32
Cita de: "Valtiel"
hago un scanf("%d",numero), al ingresar el numero no tenga que apretar enter ni nada, solo apretar el numero (sin que lo muestre en pantalla) e ingrese a dicha opcion.

Como puedo hacer eso?.
:huh: Pues hasta donde yo se no se puede eso con scanf para leer una variable sin eco (sin que se muestre en pantalla) se usa getch() asi: numero = getch()
Título: Re: Pequeña Consulta Sobre El Scanf.
Publicado por: AnioN en Lunes 4 de Junio de 2007, 03:56
Código: Text
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.    char nombre[20]="";
  6.    int i;
  7.  
  8.    printf( "Elige el numero en el menu:\n\n" );
  9.    printf( "1 - Cargar fichero\n" );
  10.    printf( "2 - Guardar en un fichero\n" );
  11.    printf( "3 - Otras operaciones\n" );
  12.    printf( "4 - Mostrar datos\n" );
  13.    printf( "0 - Salir\n\n" );
  14.    printf( "Opcion: " );
  15.    printf( "\nHas elegido: %c", getchar() );
  16.  
  17.    return 0;
  18. }
  19.  

http://www.conclase.net/c/librerias/funcion.php?fun=getchar (http://www.conclase.net/c/librerias/funcion.php?fun=getchar)
Título: Re: Pequeña Consulta Sobre El Scanf.
Publicado por: Mollense en Lunes 4 de Junio de 2007, 05:31
El problema con getch es que no es estándar, pertenece a la librería conio.h de Borland.
Título: Re: Pequeña Consulta Sobre El Scanf.
Publicado por: Karman en Lunes 4 de Junio de 2007, 14:49
Si trabajas sobre la consola de windows, aunque getch no es estándart igual viene implementada por Windows en la librería MSVCRT.DLL, la cual como ya expliqué alguna vez, contiene todas las implementaciones de las funciones estándares de C y algunas otras más como ésta justamente... para poder usar getch solo debes o incluir la librería conio.h o incluir esta línea:

Código: Text
  1.  
  2. #ifdef  __cplusplus
  3. extern "C" {
  4. #endif
  5. _CRTIMP int __cdecl  getch (void);
  6. #ifdef  __cplusplus
  7. }
  8. #endif
  9.  
  10.  

S2  :hola: