Programación General > C/C++

 Re: Leer un numero ( scanf )

<< < (4/4)

franc:
si pos .... ahora resulta que han sacado un fallo a ese codigo que es... no sepuede poner numeros negativos y no se puede usar el "retroceso" para borrar en caso de que te equiboques ...

Super_G:
pero tiene solucion solo hay que hacer mas comprobaciones

Ruben3d:
Hola a todos.

La función scanf retorna el número de valores leidos con éxito, por lo que basta comprobar este valor (debe ser 1 en este caso) para saber si el usuario ha introducido un entero. Un ejemplo de aplicación de esto sería:

 
--- Código: Text --- #include <stdio.h> void main(){    int num;    int res;     printf("Escribe un numero:n");     fflush(stdin);    res = scanf("%d", &num);    while (res == 0)    {        printf("Por favor, introduzca un numero valido.n");        fflush(stdin);        res = scanf("%d", &num);    }     printf("El numero es: %dn", num);}  
Espero que esto te sirva de ayuda. Un saludo.

Super_G:
Eso parece mejor!!

franc:
si pero solo "parece" ... sigue sin funcionar como debe de funcionar. Si introduces "5dfs35" te imprime 5... deberia dar "error" pues has introducido un caracter.


PD: hmmmm ¿ y si mezclo los 2 codigos que me habeis pasado y pido carcater por caracter tal y como era el codigo anterior y luego uso el segund codigo para validar ese caracter ?

voy a probar :D gracias!

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa