Exemple #1
0
// Escribe un mensaje y leer una variable numerica con decimales (float, double)
double VGeneral::LeerNroDecimal(string msj)
{
   double dato;
   int valido,cont;
   string s;

   do
   {  valido = 0;
      cont = 0;
      s = LeerString(msj);
      for(unsigned int i=0; i<s.size(); i++)
       { if(s[i] == '.')
            cont += 1;
         if(!(s[i]>='0' and s[i]<= '9') and (s[i]!='-') && (s[i] != '.'))
           {  ImprimirMensaje("\n Dato no v\xa0lido \n");
              valido = -1;
              break;
           }
          if(cont > 1)
            {  ImprimirMensaje("\n Dato no v\xa0lido \n");
               valido = -1;
               break;
            }
        }  // for
      } while(valido == -1);
      dato = atof(s.c_str());
   return dato;
}
Exemple #2
0
unsigned char
PuertoSerie::LeerByte(unsigned TiempoEspera) throw(Excepcion)
{
	unsigned char c;
	LeerString(&c, 1, TiempoEspera);
	return c;
};
Exemple #3
0
// Escribe un mensaje y lee un valor numerico sin decimales (variable int, long)
long VGeneral::LeerNro(string msj)
{
   /*long c;
   cout<<msj;
   cin>>c;
   return c;*/
   long dato;
   int valido;
   string s;
	do
	   {  valido = 0;
	      s = LeerString(msj);
	      for(unsigned int i=0; i<s.size(); i++)
	       { if(!(s[i]>='0' and s[i]<= '9'))
	           {  ImprimirMensaje("\n Dato no v\xa0lido \n");
	              valido = -1;
	              break;
	           }
	        }  // for
	      } while(valido == -1);
	      dato = atof(s.c_str());
	   return dato;
}