I have one doubt about how to check the data type of input variables in C++.
#include<iostream>
using namespace std;
int main()
{
double a,b;
cout<<"Enter two double values";
cin>>a>>b;
if() //if condition false then
cout<<"data entered is not of double type";
//I'm having trouble for identifying whether data
//is double or not how to check please help me
}
If the input cannot be converted to a double, then the failbit will set for cin. This can be tested by calling cin.fail().
cin>>a>>b;
if(cin.fail())
{
cout<<"data entered is not of double type";
}
Update: As others have pointed out, you can also use !cin instead of cin.fail(). The two are equivalent.
That code is hopelessly wrong.
iostream.h doesn’t exist. Use #include <iostream> instead. The same goes for other standard headers.std in your code (…). This can be done by putting using namespace std; at the beginning of your main function.main must have return type int, not void.Concerning your problem, you can check whether reading a value was successful by the following code:
if (!(cin >> a))
cout << "failure." << endl;
…
Also, if my memory serves, the following shortcut should work:
if (! (cin>>a>>B)) { handle error }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With