Advertisement
Zyazev

Вещественная запись числа

Feb 21st, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <fstream>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. setlocale(LC_ALL, "Russian");
  9. int sost=1; char x;
  10. ifstream fin("f:\Text.txt");
  11. while (fin.peek() != EOF)
  12. {
  13. fin >> x;
  14. switch (sost)
  15. {
  16. case 1:
  17. {
  18. if ((x == '+') || (x == '-'))
  19. sost=2;
  20. else
  21. sost=0;
  22. break;
  23. }
  24. case 2:
  25. {
  26. if (x < '0' || x > '9')
  27. {
  28. if (x == '.')
  29. sost=3;
  30. else
  31. sost=0;
  32. }
  33. break;
  34. }
  35. case 3:
  36. {
  37. if (x < '0' || x > '9')
  38. {
  39. if (x == 'E' || x == 'e')
  40. sost=4;
  41. else
  42. sost=0;
  43. }
  44. break;
  45. }
  46. case 4:
  47. {
  48. if ((x == '+') || (x == '-'))
  49. sost=5;
  50. else
  51. sost=0;
  52. break;
  53. }
  54. case 5:
  55. {
  56. if (x < '0' || x > '9')
  57. sost=0;
  58. else sost=6;
  59. break;
  60. }
  61. case 6:
  62. {
  63. if (x < '0' || x > '9')
  64. sost=0;
  65. break;
  66. }
  67. }
  68. }
  69. if (sost==6)
  70. cout << "Запись числа верная" << endl;
  71. else
  72. cout << "Запись числа НЕ верная" << endl;
  73. system("pause");
  74. return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement