Advertisement
Ansaid

Проверка float

Apr 1st, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. float Enter()
  2. {
  3.     string proverka;
  4.     bool indikator = true;
  5.     int k;
  6.     while (indikator)
  7.     {
  8.         indikator = false;
  9.         k = 0;
  10.         cin >> proverka;
  11.         if ((proverka[0] == '0') && (proverka[1] == '0'))
  12.             indikator = true;
  13.         if ((proverka[0] == '-') && proverka.length() == 1)
  14.             indikator = true;
  15.         if ((proverka[0] == '-') && (proverka[1] == '.'))
  16.             indikator = true;
  17.         if (((proverka[0] < '0') || (proverka[0] > '9')) && (proverka[0] != '-'))
  18.             indikator = true;
  19.         for (int i = 1; i < proverka.length(); i++)
  20.             if (proverka[i] == '.')
  21.                 k++;
  22.         for (int i = 1; i < proverka.length(); i++)
  23.             if (((proverka[i] < '0') || (proverka[i] > '9')) && (proverka[i] != '.'))
  24.                 indikator = true;
  25.         if (k > 1)
  26.             indikator = true;
  27.         for (int i = 1; i < proverka.length(); i++)
  28.             if (proverka[i] == '.')
  29.                 proverka[i] = ',';
  30.         if (indikator)
  31.             cerr << "Ошибка ввода!\nВведите число заново: ";
  32.     }
  33.     return stof(proverka);
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement