Expression Evaluation | CodeGuru

Expression Evaluation

Environment: VC 4.0/5.0 I made this code while working on a program for analyzing mathematical expressions, and I made some classes for making things easier. See sample code: express.zip ; the programme was writen using MSVC 4.0 and compiled with MSVC 5.0 This classes can be used for evaluating expressions like : 1+4*(5+9) or 1+var1+var2*(5+b5), […]

Written By
CodeGuru Staff
CodeGuru Staff
Mar 2, 1999
1 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Environment: VC 4.0/5.0

I made this code while working on a program for analyzing mathematical expressions, and
I made some classes for making things easier.

See sample code: express.zip ; the programme was writen using
MSVC 4.0 and compiled with MSVC 5.0

This classes can be used for evaluating expressions like :

1+4*(5+9) or

1+var1+var2*(5+b5), where var1 , var2 can be: numeric values or expressions or other
numeric stuff. See the sample code.

The class hierarchy that I implemented is :

CExpression derived from CObject – represents
a mathematical expression; use ChangeExpression to assign a string
expression to the expression object

The folowing mathematical functions are known: sin, cos, exp, sqrt, log, tg, ctg, asin,
acos, atg and the default operations like +, -,  *, /, ^ – (pow()); the abs function
is implemented using: |expresion|.

CValue derived from CObject – represents a value; use
SetValue/GetValue – to set / get the value, or UpdateValue
to Update the value

CExpValue derived from CValue – represents a value
that is defined by a expresion

CNumericValue derived from CValue – represents a
simple numeric value

The best way of understanding the way that this classes are functioning is to see the
sample project.

If you have some questions or you have some improvement ideas, or you find a bug please
send me a mail to: zolyfarkas@usa.net or zoly@csoft.dnttm.ro

See sample code: express.zip

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.