Calculator

#程序截图

#程序思路 程序分为两个模块,第一个是程序框架模块,即绘制程序的界面以及处理windows消息。第二个模块是表达式计算模块,用户输入的表达式将会传入该模块,通过计算,返回正确的结果。
程序框架模块是Win32标准写法,全界面使用GDI函数绘制,通过鼠标坐标确定用户点击的是哪个按钮,并实现了鼠标经过按钮时按钮获得焦点变色。在绘图部分使用双缓冲避免GDI闪烁。
表达式计算模块使用了STL中的栈,判断不同运算符的优先级,再与栈结合,来计算表达式。相关算法在《数据结构》中有比较详细的说明。