#include #include #include #include #include #include using namespace std; string itos(double i); int findperfectsquare (double); int main() { int const endinput(10000); try { double number(0); while (number != endinput) { cout << "Input a number \n"; cout << "10000 to end\n"; cin >> number; if (number == endinput) break; if (number <= 0) throw exception(); number -= 1; int result(0); result = findperfectsquare(number); cout << "The square root of the largest perfect square less than this number is " << result << '\n'; } } catch (...) { cerr << "***An exception was thrown***\n"; } } int findperfectsquare (double mynumber) { do { double numberroot = sqrt(mynumber); string myno = itos(numberroot); for (size_t i(0); i <= myno.size(); ++i) { if (myno[i] == '.') { mynumber -= 1; } else { return numberroot; } } } while (true); } string itos(double i) { stringstream s; s << i; return s.str(); }