La Web del Programador: Comunidad de Programadores
 
    Pregunta:  49385 - CAPTURAR TECLA
Autor:  Mel Calizaya
Quisiera saber como capturar una tecla númerica, cuando el usuario presiona, y esta tecla esta enlazada con una función.
Esto un algoritmo sobre Pilas en C++ Builder

  Respuesta:  Romeo Alexander Muñoz Rodriguez
hola que tal fijete que no entiendo muy bien tu pregunta, pero estuve pensando y creo que lo que quieres es capturar un numero al nomas presionarlo sin tener que estar presionando enter, bueno yo lo e hecho usando la funcion getch() de la libreria conio.h, esta te permite capturar caracteres al solo presionarlos, lugo como te lo captura como caracter (char) lo tienes que convertir a numero (int) con la funcion atoi de la libreria (creo que es stdlib.h), como te captura numero por numero. lo que tienes que hacer es ir almacenandolos en una cadena, lugo mides la cadena con la funcion strlen() y con un for generas el numero de pasadas igual al numero de elementos en la cadena, y comienzas a tomarlos desde el indice mas grande hasta llegar a cero, si son tres elementos ( 123) comienzas en el elemento 2 que corresponde al numero 3 lo multiplicas por
(10 elvado a la 0) eso es igual a 3, despues el siguienteque es el 2 por (10 elevado a la 1) eso es igual a 20, y por ultimo el 1 por (10 elevado a la 2) eso es igual a 100. luego sumas todos los resultados y te dara como resultado 123 ya en int. bueno espero que sea eso lo que buscas. lo de que esta enlazada con una funcion eso si no te lo entiendo. te adjunto un codigo de lo que te acabo de explicar espero que te sirva ok adios y buen dia.

#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main(){
char numeros[10];
int acumulador,i=-1,p=0;
printf("Ingrese el numero");
do{
i++;
numeros[i]=getch();
printf("%c",numeros[i]);
}while(numeros[i]!=13 && i<10);
i=(strlen(numeros)-1);

for(;i>=0;i--){
acumulador+=(atoi(numeros[i])*(pow(10,n));
}
printf("El numero que introdujo fue %d",acumulador);
}

bueno ese es un ejemplo que me acabo de inventar espero que te funcione, solo tienes que adaptarlo a tu compilador y listo.