Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <locale.h> // здесь "живёт" setlocale(LC_ALL, "rus");
- #include <string.h>
- struct T
- {
- char cAlpha;
- char cDot;
- char cPoint;
- /////////////
- T()
- {
- cAlpha = 0;
- cDot = 0;
- cPoint = 0;
- }
- int Dot(const char *);
- };
- ////////////////////////////////////////////////////////////
- int main()
- {
- setlocale(LC_ALL, "rus");
- char sz[199] = "t,';[30saked`";
- T t_1;
- int a = t_1.Dot(sz);
- if(a > 99) printf("Не вещественное число! (%d)\n", a);
- else printf( "Вещественное число! (%d)\n", a);
- return 0;
- }
- ////////////////////////////////////////////////////////////
- int T::Dot(const char *sz)
- {
- int n = strlen(sz);
- for(int i = 0; i < n; i++)
- {
- //cDot = 1 (одна точка)
- //cDot = 2 (две точки)
- //cPoint = 1 (одна запятая)
- //cPoint = 2 (две запятые)
- if(sz[i] == '.') { cDot += 1; if(i == 0) return 100; }
- if(sz[i] == ',') { cPoint += 1; if(i == 0) return 101; }
- if (cDot == 2) return 102;
- if (cPoint == 2) return 103;
- if (cPoint == 1 && cDot == 1) return 104;
- }
- if(cPoint == 0 && cDot == 0) return 105;
- return 1; // Не нашли точку или запятую
- }
- //printf("cDot = %d\n", cDot );//
- //printf("cPoint = %d\n", cPoint);
Advertisement
Add Comment
Please, Sign In to add comment