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), 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



Comments

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Speed. Agility. Flexibility. There are the big drivers behind most organizations' move to the cloud for their test/dev environments. Freed from the shackles of physical, on-premises infrastructures means test/dev teams can be incredibly fast, both in standing up and tearing down test beds. They can manage version control and they can share work between teams faster ever than below. Read this white paper to learn how your business can respond faster to the rapidly changing needs of customers with a cloud-based …

  • Like many roles in the C-Suite, the CIO role is also changing. Its impact and control have been circumvented by cloud computing, the consumerization of IT, and employees that now have unprecedented access to technology. The role of the CIO is at a critical juncture. For some CIOs, the changing landscape reduces their scope of influence. For others, it means unprecedented opportunity. This eBook explores the changes that CIOs are experiencing today and how these executives can leverage their expertise to help …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date