C/Visual C - Como comparo un int con un char

 
Vista:

Como comparo un int con un char

Publicado por kero (45 intervenciones) el 10/02/2006 03:20:57
Hola mi problema es simple: tengo un programa donde se ingresan numeros y necesito verificar si los datos que se ingresan son numero o no. Por ejemplo si alguien ingresa un caracter necesito que no lo permita. Se entiende??

saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como comparo un int con un char

Publicado por dingo (2 intervenciones) el 10/02/2006 20:39:13
en la stdlib.h hay unas funciones que te sirven para eso
isdigit(); e isalfa();
te toca ahora ver como funcionan
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como comparo un int con un char

Publicado por Edgar rojas (6 intervenciones) el 11/02/2006 21:59:16
bueno como te dijeron existen esas funciones para validar un numero que son isdigit() o isalpha() la primera te valida que sea un numero y la segunda que sea alfanumerico, ahora bien estas funciones funcionan con caracteres es decir el numero tiene que ser de tipo caracter, aqui te pongo una funcion que yo uso para eso:

enum estado {ok, error};
//prototipos
estado validanum (char *cad);
//funciones
estado validanum (char *cad)
{
int tam=0;
tam = strlen (cad);
//printf ("\nvalor de cadena: %s",cad);
for (int i = 0; i<tam; i++)
{
if (!isdigit (cad[i]))
{
printf("\n\tIncorrecto intente de nuevo");
getch();
clrscr();
return error;
}
}
return ok;
}

ahora bien no necesariamente lo tienes que hacer igual puedes hacer que la funcion retorne algun otro valor pero eso ya es a gusto, espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como comparo un int con un char

Publicado por kero (45 intervenciones) el 13/02/2006 07:35:47
Todo bien con esas funciones pero tengo otro problema ahora. Cuando defino una variable como char variable[5] y despues hago un scanf("%s",& variable) el compilador me tira un warning diciendome:
warning: format '%s' expects type 'char *', but argument 2 has type 'char (*)[4u]'
Alguna idea de que puede ser??

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como comparo un int con un char

Publicado por Ismael (230 intervenciones) el 13/02/2006 09:51:53
En

scanf("%s",& variable);

te sobra el &.

Ademas si tienes antes de esta instrucción alguna otra entrada por teclado, debes vaciar el buffer de teclado poniendo, antes de la instrucción anteior:

fflush(stdin);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar