Programación General > C/C++

 Re: Leer un numero ( scanf )

(1/4) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa