Приведенный ниже код должен по существу повторять любое числовое значение двойной точности, которое я накачиваю. Но когда я использую, например, «45 * 45» в качестве входных данных, это даст мне выход «Значение 45», отбрасывая все после *. Я хочу, чтобы он возвращал это как "Не числовое значение двойной точности". Как я мог это сделать? Любая помощь будет оценена!
#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>
#include <cstring>
using namespace std;
int main() {
double number1; //Initialize Numerical Value
std::cout << "Please input a double precision numerical value :";
std::cin >> number1;
if (!cin) {
cout << "Not a double precision numerical value" << endl;
}
else if (cin) {
cout << "Value is: " << number1;
}
else {
cout << "Error";
}
return 0;
}