• 大小: 829B
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: C/C++
  • 标签: VC  四则运算  

资源简介

输入的表达式字符串,不仅可包含"+-*/()"等四则运算符号,还可包含"sin,cos..."等三角和反三角函数。VC++代码量极少,另辟捷径,命人大开眼界!

资源截图

代码片段和文件信息

/////////////////////////////////////////////////////////////////////////
// 数学运算利用SQL语句求解
// 参数值:
// strArithmetic [in]要运算的算式
// pdResult [Out]运算后的结果
// 返回值:
// 成功为TRUE
// Author: lasor
// Date: 2008-10-23
//////////////////////////////////////////////////////////////////////////
BOOL ComputeArithmeticString(const CString &strArithmetic double* pdResult)
{
if(strArithmetic.IsEmpty())
{
return TRUE;
}

static CADORecordset self_rec;
try
{
if(!self_rec.m_bDatabaseOpen)
{
if(!self_rec.ConnectDatabase(_T(“D:\\MyDatabase.mdb“))) //“D:\\MyDatabase.mdb“是任意建立的一个Access数据库文件名
{
return FALSE;
}
}
CString strExecute;
strExecute.Format(_T(“SELECT (%s) AS [ResultValue]“)strArithmetic);
_variant_t varRecordAffected;
_RecordsetPtr pRecordset = self_rec.m_pConnection->Execute((_bstr_t)strExecute&varRecordAffectedadCmdText);
_variant_t varResult;
if(!pRecordset->adoEOF)
{
varResult = pRecordset->GetCollect(“ResultValue“);
}
pRecordset->Close();

if(varResult.vt == VT_EMPTY || varResult.vt == VT_NULL)
{
//strArithmetic.Empty();
}
else
{
varResult.ChangeType(VT_R8NULL);
*pdResult = varResult; //运算后的结果
}

return TRUE;
}
catch(_com_error e)
{
}
return FALSE;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1351  2009-11-19 14:43  Arithmetic.c

评论

共有 条评论