本文整理汇总了C++中Token::GetDatoReal方法的典型用法代码示例。如果您正苦于以下问题:C++ Token::GetDatoReal方法的具体用法?C++ Token::GetDatoReal怎么用?C++ Token::GetDatoReal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Token
的用法示例。
在下文中一共展示了Token::GetDatoReal方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Desapila
void
Round (Token ** Pila)
{
Token *Operando = EntornoEjecucion_BuscaSimbolo (*Pila);
if (Buzon.GetHuboError ())
return;
if (NoEsReal (Operando))
{
BorrarTokenSiEsVariable (Operando);
return;
}
long double ValorDominio = Operando->GetDatoReal ();
BorrarTokenSiEsVariable (Operando);
long double ValorRetorno = floorl (fabsl (ValorDominio) + 0.5L) *
(ValorDominio < 0 ? (-1.0L) : (1.0L));
Token *TokenRetorno = ConsigueToken (ValorRetorno);
if (Buzon.GetHuboError ())
return;
delete Desapila (Pila);
Apila (Pila, TokenRetorno);
return;
}
示例2: EvaluaPostfijo
void
VariableVector::EvaluaIndices ()
{
ListaExpresiones & L = Lista;
L.Reset ();
unsigned int *Vec = VectorIndices;
for (int j = 0; j < L.GetNItems(); ++j)
{
Token *t = EvaluaPostfijo (L.Itera());
if (Buzon.GetHuboError ())
return;
if (t->GetTipoDato () != REAL)
{
//los indices deben ser enteros positivos
// un error pa' el buzon
delete t;
Buzon.Error (INDICES);
return;
}
long double v = t->GetDatoReal ();
delete t;
if (v < 0L || v > 65535L || (floor (v) != v))
{
// los indices deben ser enteros positivos
//menores o iguales a 65535; un error pa' el buzon
Buzon.Error (INDICES);
return;
}
Vec[j] = v;
}
}
示例3: if
void
Tangente (Token ** Pila)
{
Token *Operando = EntornoEjecucion_BuscaSimbolo (*Pila);
if (Buzon.GetHuboError ())
return;
if (NoEsReal (Operando))
{
BorrarTokenSiEsVariable (Operando);
return;
}
long double ValorDominio = Operando->GetDatoReal ();
BorrarTokenSiEsVariable (Operando);
ValorDominio = Estado.AngulosEnGrados ? ValorDominio * M_PI / 180.0L :
ValorDominio;
long double ValorSeno = sinl (ValorDominio);
long double ValorCoseno = cosl (ValorDominio);
long double ValorRetorno;
if (fabsl (ValorSeno) == 1.0L)
{
Buzon.Error (LLAMADO_DE_FUNCION_NO_VALIDO);
return;
}
else if (ValorCoseno == 1.0L)
ValorRetorno = 0.0L;
else
ValorRetorno = tanl (ValorDominio);
if (Buzon.GetHuboError ())
return;
Token *TokenRetorno = ConsigueToken (ValorRetorno);
if (Buzon.GetHuboError ())
return;
delete Desapila (Pila);
Apila (Pila, TokenRetorno);
if (FueraDeRango (TokenRetorno))
return;
return;
}