Programación General > C/C++
Re: Leer un numero ( scanf )
franc:
La pregunta es:
Yo tengo un programa y necesito leer un numero, puedo usar por ejemplo el scanf de esta forma:
int num;
printf("Inserta un numero: ");
scanf("%d",&num);
Bien, ahora imaginemos que queremos imprimir el numero que hemos metido sumado +10:
int num;
printf("Inserta un numero: ");
scanf("%d",&num);
printf("La suma es: %d",num+10);
De acuerdo, ¿ y si el usuario le da por NO PONER UN NUMERO y me pone una letra ?
#include <stdio.h>
#include <conio.h>
void main()
{
int num;
printf("Inserta un numero: ");
scanf("%d",&num);
printf("La suma es: %d",num+10);
}
El resultado que obtenemos al poner una letra es el mismo siempre ( 1450 ).
Ahora biene el preguntón: Como hago para que en caso de que el usuario ponga una letra,simbolo o cualkier cosa que no sea un numero... se repita el programa, es decir, que vuelva a preguntar por un nuevo numero pues las letras,simbolos y demas no valen para usar el programa.
¿ Alguien sabe como hacerlo ?
GRACIAS !
JuanK:
Ahh si perdon me apresure un poco a responder...
bueno no dispongho de tiempo porque estoy en horario de trabajo,
prueba con la funcion kbhit y con la funcion bioskey utiliza la dos.h.
Es facil creeme..
si no lo logras corregir, tal vez te ayude mas el fin de semana.
franc:
perdona pero eso que has puesto debe de estar mal porque es un bucle infinito. Yo lo he compilado y estaba bien y al darle al "run" puse de numero una "k" y me salio el bucle infinito:(
nose si sera facil pero llevo comiendome el coco mucho tiempo !! y nadie sabe solucionarlo !!!
franc:
por cierto, el numero no tiene porque estar entre 0 y 9, el usuario te podria poner el numero 982173982173918723:P
Super_G:
Pero tiene que ser siempre con la funcion "scanf()" o con otra u otras
por ejemplo leer el teclado cada tecla a la ves y verificar si es un numero o letra.
Si dices que cuando ingrasas una letra "una letra es el mismo siempre ( 1450 ).
" entoces podrias ponerlo en un cliclo
do
while
y comparar si el valor leido es diferente al que se tienen cuando se lee una letra (pero en ese caso si se ingresa justo ese numero seria una ecepcion)
Navegación
[#] Página Siguiente
Ir a la versión completa