刚刚接触C++,经过简单的学习编写一个简易计算器。
思路:用string来接受命令行输入的数据,将数据分为2个栈来存储,在存储的过程中根据运算符的优先级进行计算。比如3+4*4/5;
栈N存储数字,栈S存储运算符。当存储到/时,栈N里的情况是3 4 4,栈S里的情况是+ * ,/号的优先级和*的优先级相同,需要进行出栈,计算。所以*出栈,N栈的4,4出栈,注意先后的顺序。然后4*4后计算结果再入栈 N栈就为3 16。所以,判断数字是否出栈进行计算的条件是要入栈的计算符的优先级是否小于或者等于S栈顶的优先级,如果符合则出栈计算。如果不符合则继续扫描字符串进栈。



