Programación General > Visual C++
VALIDAR double
(1/1)
-.-JP:
buenas =)
podrai alguien ayduarme, tengo un programa que realiza calculos, y ocupo que el usuario solo digite numeros, letras se me cae el programa -.-. Como valido que solo digite numeros de tipo double??? les dejo parte del codigo:
:hitcomp: case '1':
{
system("cls");
system("color f5");
double xp;
double yp;
cout<<endl<<endl;
cout<<" PUNTO"<<endl;
cout<<" _____"<<endl;
cout<<endl<<endl<<endl;
cout<<"Digite (x,y) para crear Punto: "<<endl;
cout<<endl;
cout<<"X: ";
cin>>xp;
cout<<endl;
cout<<"Y: ";
cin>>yp;
menuPunto(xp,yp);
break;
}
Amilius:
Intenta usando scanf_s, "%lf" indica que esperamos un double, el fflshd(stdin) es para limpiar la entrada de datos si es que el usuario ingreso basura en lugar de lo esperado.
--- Código: C++ --- #include <stdio.h>.... double xp = 0.0; double yp = 0.0; scanf_s("%lf", &xp); fflush(stdin); printf("%fn", xp); scanf_s("%lf", &yp); fflush(stdin); printf("%fn", yp);
-.-JP:
Mas que todo ocupo que si me ingresan una letra que no se caiga el programa =S e buscado y tratado de varias maneras pero sigue sin funcionar
Radger:
Puedes guardar la entrada del usuario en un char* o std::string de esta manera el programa no se cerrara y solo tendrias que comprobar que la cadena tiene los datos que necesitas.
Navegación
Ir a la versión completa