C/Visual C - por favor ayuda.

 
Vista:
sin imagen de perfil

por favor ayuda.

Publicado por Edwin (70 intervenciones) el 17/10/2006 23:56:50
Necesito con urgencia validar que se ingrese a una variable double solo números, en visual basic se puede con la función isnumber.
gracias de antemano, soy nuevo en esto, por favor es urgente...
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:por favor ayuda.

Publicado por Fran (122 intervenciones) el 18/10/2006 00:43:19
asumo q en C... aki podes hacer una funcioncita...

int clear_bufer(void){
char c;
c = 0;

while(c!='\n'){
c=getchar(); c++;
}
}
return 0;
}

y lo usas asi... ponele q tengas q leer 3 numeros...

num=0;
while(num!=3){
num=scanf("%d %d %d",&a,&b,&c);
clear_bufer();
}

revisa la funcion clear_buffer, es para limpiar y q no quede ahi dando vuelta la basura, no se si esta bien, alquien mas q revise!!! podes usar fflush creo q tambien es valido...
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:por favor ayuda.

Publicado por Eduardo Negrete (76 intervenciones) el 18/10/2006 04:38:27
puedes validarlo de la siguiente manera

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

void main()
{
char numero[20];
int longitud = 0, dato;
double valor;
bool validar = true;

printf("\n\n\n\tIntroduce el numero: ");

do
{
dato = getche();

if ( dato != 0xd )
{
// Lo Convierte A Minusculas -10E12 -10e12
dato = tolower( dato );
if ( isdigit( dato ) != 4 && dato != '-' && dato != 'e' )
{
printf("\n\n\tEsto No Es Un Numero %d", dato);
getch();
validar = false;
break;
}
else
numero[longitud] = dato;
longitud++;
}

}while( dato != 0xd );

if ( validar == true )
{
numero[longitud] = '\0';
valor = atof( numero );
printf("\n\n\tEl Numero Es %g", valor);
getch();
}
}

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
sin imagen de perfil

RE:por favor ayuda.

Publicado por Edwin (70 intervenciones) el 18/10/2006 15:18:59
Gracias por todo.
con el primer ejemplo que me respondieron se hacia con un bucle pero no me reconocía el 0. yo lo valido con un código muy pequeño.
uso 2 variables,1 de tipo int y el otro double
ingreso valor al double, ahora el valor del double + 1 se lo agrego al int.
de ahí solo hago un if,y pongo sí el double = 0 entoces no es número.
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:por favor ayuda.

Publicado por Fran (122 intervenciones) el 19/10/2006 03:48:00
ok, no se si entendi mucho lo q decis, pero q bueno q haya servido
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