dllbridge

str_digit

May 1st, 2026
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.50 KB | None | 0 0
  1.  
  2.  
  3. #include <cstdio>
  4. #include<cstring>
  5. #include<clocale>
  6.  
  7. char sz[12][17] = { "1,2345578",
  8.                           "4.8",
  9.                             "a",
  10.                            ",a",
  11.                            "a.",
  12.                          "SONY",
  13.                        "44.,44",
  14.                        "4,44.4",
  15.                        ",444.4",
  16.                         "3,1a4",
  17.                          "4444",
  18.                        "44a44"};    
  19.                          
  20.                          
  21. int foo(char p[]);                            //     Только целое число
  22.  
  23.  
  24. ///////////////////////////////////////////////
  25. int main()
  26. {
  27.     setlocale(LC_ALL, "rus");
  28.    
  29.     int n;
  30.    
  31.    
  32.     for(int i = 0; i < 12; i++)
  33.     {
  34.         n = foo(sz[i]);
  35.    
  36.         switch(n)
  37.         {
  38.             case  0: printf("Произвольная строка.       "); break;   
  39.             case  1: printf("Это целое число.           "); break;
  40.             case  2: printf("Число с плавающей запятой. "); break;
  41.         }
  42.        
  43.         printf("%s \n", sz[i]);
  44.     }
  45. }
  46.  
  47.  
  48. ///////////////////////////////////////////////  Только целое число
  49. int foo(char p[])
  50. {
  51.    
  52.     int nLen = strlen(p),
  53.            i =         0,
  54.     nCounter =         0,
  55.         nRes =         0;
  56.  
  57.            
  58.     while(i < nLen)
  59.     {
  60.         if (p[i] > 47 && p[i] < 58)
  61.         {
  62.            
  63.            nCounter ++;
  64.         }
  65.         else
  66.         {
  67.            
  68.             if(i  >        0)
  69.             if(i  < nLen - 1)
  70.             if(p[i] == ',' || p[i] == '.') nRes = 2;
  71.         }
  72.         i++;
  73.     }
  74.    
  75.     if(nRes     ==        2)
  76.     if(nCounter == nLen - 1) return 2;
  77.     if(nCounter == nLen    ) return 1;
  78.                              return 0;
  79. }
  80.  
  81.  
  82.  
Advertisement
Add Comment
Please, Sign In to add comment