这个编程其实难度不高,无非就是反算式保存在memoryString里,读取时返回给caclString。如果增加点功能,无非就是把记忆的算式添加到新算式上。
比如:
private void MemoryRecall()
{
if (HaveMemory)
{
if (isOPAdded)
{
for (int i = 0; i < memoryString.Length; i++)
{
EnterString(memoryString.Substring(i, 1));
}
}
else
CaclString = memoryString;
memoryString = null;
RaisePropertyChanged("HaveMemory");
}
}
这是记忆加:
private void MemoryAdd()
{
if (noStringAdded)
{
return;
}
string temp1 = "";
string temp2 = "0";
try
{
RunCaclEqual();
temp1 = Result;
if (HaveMemory)
{
caclString = memoryString;
RunCaclEqual();
temp2 = Result;
}
memoryString = (decimal.Parse(temp1) + decimal.Parse(temp2)).ToString();
if (memoryString == "0")
{
memoryString = null;
}
RaisePropertyChanged("HaveMemory");
}
catch (Exception ex)
{
Result = ex.Message;
}
}
第十九课结语。记忆只是保存一下,需要时返回来。同时是否有记忆还标志显示。整个程序的难度其实在解决多项式计算和取反功能上。不难是不难,也牵涉到预期策略选择,怎么选择不全在你自己,有约定俗成,有善意最可能,有主动引导用户习惯,但都由你而定,或者,进行用户调查,根据民意而定。