C/Visual C - Control int/char

 
Vista:

Control int/char

Publicado por mique (2 intervenciones) el 11/08/2002 17:18:22
Hola! Estoy liado con un programilla dnd el usuario debe introducir en teoría un num, pero no sé como controlar que si mete un caracter, este no sea válido.Otra cosilla..¿cómo declaro la variable dnd almaceno el dato introducido, int ,char...? Muchas gracias!!!!
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:Control int/char

Publicado por Jesucristo (1 intervención) el 11/08/2002 20:43:16
Buenas.
Si vas a insertar un numero debes declaralo como int numero;
Respecto a tu pregunta no tengo idea, si logras como saber si se inserta un caracter dejalo aqui o:-)
Venga cuidate y se bueno.
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
sin imagen de perfil

RE:Control int/char

Publicado por Javier (59 intervenciones) el 12/08/2002 06:59:15
Hola Mique:
Para lo que necesitas creo que podrías usar algo como esto:

#include ENTER 13

int IngresaNumero()
{
...char Vector[10];
...int Indice=0
...do
...{
......Caracter=getche();
......if (Caracter ==ENTER) break;
......if ( strchr("0123456789", Caracter) != NULL )
......{
.........Vector[Indice++]=Caracter; //si es un caracter numerico lo guarda
..........// en el vector.
......}
...} while (Indice <10) ;

...Vector[Indice]='\0';
...return atoi( Vector);
}
Seguramente puede mejorarse, pero espero que te sirva. Cualquier cosa, escribime.

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:Control int/char

Publicado por chuidiang (677 intervenciones) el 12/08/2002 09:48:25
La forma "rápida" es usar scanf ("%d", numero); Si se introducen caracteres no numéricos, scanf se los salta hasta que encuentre un número.
scanf devuelve el número de items que ha podido leer. Si no hay ningún número, devolverá un cero y así sabrás que no hay números.

La otra opción es la que te han indicado, debes ir leyendo caracter a caracter, comprobar que no hay nada que no te guste y finalmente llamar a la función atoi().

Se bueno.
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