Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Función isdigit()

Estas en el tema de Función isdigit() en el foro de C/C++ en Foros del Web. Alguno me puede decir como funciona esta función, según yo tengo entendido esta devuelve un valor distinto de cero si el argumento es un número ...
 
Antiguo 10/05/2011, 15:20
Avatar de hunterofemotio  
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 14 años, 5 meses
Puntos: 0
Función isdigit()

Alguno me puede decir como funciona esta función, según yo tengo entendido esta devuelve un valor distinto de cero si el argumento es un número del 0 al 9 y devuelve 0 en cualquier otro caso, ahora he intentado usarla pero siempre me regresa el valor de 0.

Código PHP:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main()

{
    
int a;
    
int numero=1;
    
a=isdigit(numero);
    
printf("a es igual a : %d\n",a);
    
system("pause");

Gracias por la ayuda

Última edición por hunterofemotio; 10/05/2011 a las 16:29
 
Antiguo 10/05/2011, 18:38
 
Fecha de Ingreso: abril-2011
Mensajes: 88
Antigüedad: 14 años, 5 meses
Puntos: 24
Respuesta: Función isdigit()

La función toma un char como argumento y devuelve 1 si es un dígito y 0 si no lo es. No tiene sentido pasar un int como argumento ya que tiene que ser número por fuerza.
Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4.  
  5. int main()
  6. {
  7.     int a;
  8.     char numero='7';
  9.     a=isdigit(numero);
  10.     if(a==0){
  11.     printf("no es un digito\n");
  12.     }else{
  13.     printf("el digito es: %c\n", numero);
  14.     }
  15.     system("pause");
  16. }

Esta función NO convierte el char en dígito.
__________________
Foros Desarrollo de Juegos
 
Antiguo 10/05/2011, 18:47
 
Fecha de Ingreso: mayo-2011
Ubicación: Bogota
Mensajes: 18
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Función isdigit()

[URL="http://php.net/manual/en/index.php"]http://php.net/manual/en/index.php[/URL]
 
Antiguo 10/05/2011, 21:09
Avatar de hunterofemotio  
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Función isdigit()

Cita:
Iniciado por ssaammuu Ver Mensaje
La función toma un char como argumento y devuelve 1 si es un dígito y 0 si no lo es. No tiene sentido pasar un int como argumento ya que tiene que ser número por fuerza.
Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4.  
  5. int main()
  6. {
  7.     int a;
  8.     char numero='7';
  9.     a=isdigit(numero);
  10.     if(a==0){
  11.     printf("no es un digito\n");
  12.     }else{
  13.     printf("el digito es: %c\n", numero);
  14.     }
  15.     system("pause");
  16. }

Esta función NO convierte el char en dígito.

Muchas gracias, eso resolvió mi duda, es que en mi libro viene con la forma:
Código:
int isdigit(int c)
y eso me confundió, de nuevo gracias.
 
Antiguo 11/05/2011, 11:56
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 15 años, 5 meses
Puntos: 228
Respuesta: Función isdigit()

Pasa que un caracter no es mas que un numero del 0 al 255. Para ver si es un digito se fija en la tabla ascii donde esta el cero y el nueve y compara que el numero este entre el codigo del cero y el del nuevo.

Pero en definitiva un caracter sigue siendo un numero y se pueden sumar restar multiplicar.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta



La zona horaria es GMT -6. Ahora son las 11:17.