Hola veran me gustaria saber como hacer que cuando se le pida un numero al usuario para acceder a un menu no tenga que escribirlo, si no solo pulsarlo ej:
#include <iostream>
using namespace std;
int main()
{
int num;
cout<<"pulse 1 para acceder a menu1"<<endl;
cout<<"pulse 2 para acceder a menu2"<<endl;
cin>>num; /* aqui lee la variable pero tienes que escribirla y pulsar intro
y yo quiero que lo coja directamente al pulsar el numero en el
teclado */
switch(num)
{
case '1': cout<<"ha accedido al menu 1"<<endl;
break;
case '2': cout<<"ha accedido al menu 2"<<endl;
break;
}
return 0;
}
no se si sera con (stdin) y la biblioteca cstdio espero respuesta :D
Cita de: ankora45 en 2 Octubre 2012, 11:58 AM
hacer que cuando se le pida un numero al usuario para acceder a un menu no tenga que escribirlo, si no solo pulsarlo
Una forma es mediante el uso de la función getch de la librería coni.h, incluida ya en Cod::Blocks o Dev.C++ -no hablo de la de borland-. NO es la mejor o más portable para otros compiladores, pero hace lo que quieres#include <iostream>
#include<conio.h>
using namespace std;
int main()
{
cout<<"pulse 1 para acceder a menu1"<<endl;
cout<<"pulse 2 para acceder a menu2"<<endl;
switch(getch ())
{
case '1': cout<<"ha accedido al menu 1"<<endl;
break;
case '2': cout<<"ha accedido al menu 2"<<endl;
break;
}
return 0;
}
Yo también quedo a la espera de otras soluciones sin getch.
Saludos!
Utilizando solo C o C++ no es posible. La única solución es utilizar una biblioteca de terceros (como en tu ejemplo) o bien el API del sistema operativo (Mas información en MSDN: Consoles (http://msdn.microsoft.com/en-us/library/ms682010.aspx)).
Un saludo
Cita de: rir3760 en 2 Octubre 2012, 15:33 PM
Utilizando solo C o C++ no es posible. La única solución es utilizar una biblioteca de terceros (como en tu ejemplo) o bien el API del sistema operativo (Mas información en MSDN: Consoles (http://msdn.microsoft.com/en-us/library/ms682010.aspx)).
Un saludo
Para Linux/Unix: tengo entendido que es termios.h.
Saludos.