C++求教编写一个简单的计算器(带界面如下图)
2个回答
展开全部
先考虑编写一个命令行版本的。关键是如何处理运算符的优先级以及将读取的字符串翻译成数据。
例如:你编写的命令行版本的输入是2.890 + 3.1 * 2-5.1 / 3.0
对于上述的式子,你首先要通过解析出2.890,然后解析出加号,然后是3.1, 乘号, 2.5, 除号 ,3.0等等。如果你想简单的来,那就不考虑运算符优先级,上述的式子会每输入一个运算符就开始运算,这样就会对上述式子进行类似如下运算: ((2.890+3.1)*2.5-5.1)/3.0,很多古董的计算器都是这样的,屏幕不显示算式,只显示结果,用户每输入一个符号就开始计算,也就没有什么算符优先级了。
界面其后考虑,我没有怎么用过c去编写界面,因此也不太清楚界面上的按钮该如何生成。原来用过一个graphic.h的头文件,可以画图,没有关注过是否可以创建按钮。界面用mfc做会更快一点,但是就不是命令行式的程序,你可以上网搜搜相关的命令行界面生成按钮的程序。命令行版本的只要编写完成了,界面就是点击按钮,判断按钮类型进行改变buf缓冲区的操作或者计算buf缓冲区结果的操作,不难。
例如:你编写的命令行版本的输入是2.890 + 3.1 * 2-5.1 / 3.0
对于上述的式子,你首先要通过解析出2.890,然后解析出加号,然后是3.1, 乘号, 2.5, 除号 ,3.0等等。如果你想简单的来,那就不考虑运算符优先级,上述的式子会每输入一个运算符就开始运算,这样就会对上述式子进行类似如下运算: ((2.890+3.1)*2.5-5.1)/3.0,很多古董的计算器都是这样的,屏幕不显示算式,只显示结果,用户每输入一个符号就开始计算,也就没有什么算符优先级了。
界面其后考虑,我没有怎么用过c去编写界面,因此也不太清楚界面上的按钮该如何生成。原来用过一个graphic.h的头文件,可以画图,没有关注过是否可以创建按钮。界面用mfc做会更快一点,但是就不是命令行式的程序,你可以上网搜搜相关的命令行界面生成按钮的程序。命令行版本的只要编写完成了,界面就是点击按钮,判断按钮类型进行改变buf缓冲区的操作或者计算buf缓冲区结果的操作,不难。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询