一款Windows上运行的函数计算器,界面模仿Win10计算器,能够根据用户输入的表达式函数计算出函数结果。
VS2015
Windows
Win32 GDI自绘界面、运算符栈+操作数栈计算函数表达式。
MainFrame.cpp是程序框架模块,即绘制程序的界面以及处理Windows消息。Calculate.cpp是表达式计算模块,用户输入的表达式将会传入该模块,通过计算,返回正确的结果。
程序框架模块是Win32标准写法,全界面使用GDI函数绘制,通过鼠标坐标确定用户点击的是哪个按钮,并实现了鼠标经过按钮时按钮获得焦点变色。在绘图部分使用双缓冲避免GDI闪烁。
表达式计算模块使用了STL中的栈,判断不同运算符的优先级,再与栈结合,来计算表达式。相关算法在《数据结构》中有比较详细的说明。