La stringa passata a Convert(char*),nn ha fine linea '\n'
è fatta cosi' |1 2 3 4 5 6 y 7 f '\0'|
codice:
#define PLUS '+'
#define MINUS '-'
#define POINT '.'
#define INT 1
#define REAL 2
#define STRING 3
#define IS_DIGIT(x) ((x>='0')&&(x<='9'))
.....
...
.....
int Convert(char* a)
           {
           int flag=0,cont=1;
          if((*a==PLUS)||(*a==MINUS)||IS_DIGIT(*a))
             {
              flag=1; 
              a++;
              while(((*a)!='\0')&&flag)
                   {
                    if(IS_DIGIT(*a))
                       a++;
                    else if((*a==POINT)&&(cont<2))
                         { 
                         cont++;
                         a++;
                         } 
                     else   
                        flag=0;
                   }
              }
           if((cont==2)&&flag)
             return REAL;
           else if(flag)
             return INT;
           else
              return STRING;
           }
N.B. Nn tiene conto del caso in cui 1 numero reale
comincia col la virgola POINT-->.474764
Deve sempre cominciare con 1 zero-->0.474764
TheEnd