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

[0] Índice de Mensajes

Ir a la versión completa