C语言表达式计算器
为了方便了解流程,在程序中把计算过程也输出了.而且栈操作的实现部分也是自己实现的.程序用两个栈,optr寄存运算符,opnd寄存操作数和运算结果.输入的表达式以等号结束,例如:2*(1+2)=
/**************表达式计算器************/8B&c/Q.KX;G0Q
#include <stdio.h>
#include <stdlib.h>
#include <string.h>W"Oe g L\,wwe_Oc
#include <conio.h>
#include <malloc.h>
#define STACK_SIZE 100
#define APPEND_SIZE 10S7xqtM%|}
H+qn(B,o5J!Z&f
struct SNode{
float data; /*存放操作数或者计算结果*/
char ch; /*存放运算符*/
};eM'yA`C2h.~
)b `$Y3W^OL
struct Stack{
SNode *top;
SNode *base;:n/Xn9}5Fw,AJV
int size;-m{"~o,O
}; \ r~{S1}1jaU:Qc
/*栈操作函数*/P#E1a@8D:]g.@na
int InitStack(Stack &S); /*创建栈*/