常数表是用来在计算器中提供常数数据用的,为了使提供常数更加方便,所以设计常数表类。大家一定会发现,在这张表中除了常数外,还有许多变量,这里之所以叫常数表,是因为这些变量的值其实是用来替换表达式中的相应字符串的。
/**/
/// <summary>
/// 常数及变量表
/// </summary>
public class ConstantTable
{
public static double AX=0.0; //数存储变量A
public static double BX=0.0; //数存储变量B
public static double CX=0.0; //数存储变量C
public static double DX=0.0; //数存储变量D
public static double EX=0.0; //数存储变量E
public static double FX=0.0; //数存储变量F
public static double ANS=0.0; //最终结果存储变量
public const double PI=Math.PI; //常数PI
public readonly static double EXP=Math.Exp(1); //常数e
/**//// <summary>
/// 保存浮点数到一个变量
/// </summary>
/// <param name="x">变量名</param>
/// <param name="Value">值</param>
public static void SaveTo(string x,double Value)
{
switch(x.ToUpper())
{
case "A":
ConstantTable.AX=Value;
break;
case "B":
ConstantTable.BX=Value;
break;
case "C":
ConstantTable.CX=Value;
break;
case "D":
ConstantTable.DX=Value;
break;
case "E":
ConstantTable.EX=Value;
break;
case "F":
ConstantTable.FX=Value;
break;
default:
ConstantTable.ANS=Value;
break;
}
}
/**//// <summary>
/// 从一个变量读取一个浮点值
/// </summary>
/// <param name="x">变量名</param>
/// <returns></returns>
public static double GetFrom(string x)
{
switch(x.ToUpper())
{
case "A":
return ConstantTable.AX;
case "B":
return ConstantTable.BX;
case "C":
return ConstantTable.CX;
case "D":
return ConstantTable.DX;
case "E":
return ConstantTable.EX;
case "F":
return ConstantTable.FX;
default:
return ConstantTable.ANS;
}
}
/// 常数及变量表
/// </summary>
public class ConstantTable
{
public static double AX=0.0; //数存储变量A
public static double BX=0.0; //数存储变量B
public static double CX=0.0; //数存储变量C
public static double DX=0.0; //数存储变量D
public static double EX=0.0; //数存储变量E
public static double FX=0.0; //数存储变量F
public static double ANS=0.0; //最终结果存储变量
public const double PI=Math.PI; //常数PI
public readonly static double EXP=Math.Exp(1); //常数e
/**//// <summary>
/// 保存浮点数到一个变量
/// </summary>
/// <param name="x">变量名</param>
/// <param name="Value">值</param>
public static void SaveTo(string x,double Value)
{
switch(x.ToUpper())
{
case "A":
ConstantTable.AX=Value;
break;
case "B":
ConstantTable.BX=Value;
break;
case "C":
ConstantTable.CX=Value;
break;
case "D":
ConstantTable.DX=Value;
break;
case "E":
ConstantTable.EX=Value;
break;
case "F":
ConstantTable.FX=Value;
break;
default:
ConstantTable.ANS=Value;
break;
}
}
/**//// <summary>
/// 从一个变量读取一个浮点值
/// </summary>
/// <param name="x">变量名</param>
/// <returns></returns>
public static double GetFrom(string x)
{
switch(x.ToUpper())
{
case "A":
return ConstantTable.AX;
case "B":
return ConstantTable.BX;
case "C":
return ConstantTable.CX;
case "D":
return ConstantTable.DX;
case "E":
return ConstantTable.EX;
case "F":
return ConstantTable.FX;
default:
return ConstantTable.ANS;
}
}