计算器(1)
来源:互联网 发布:韦德公牛数据 编辑:程序博客网 时间:2024/05/01 18:58
#include "Calculator.h"#include "error.h"#include <stdio.h>int Num_Init (Num *s){if(s == NULL){return FALSE;}s->top = -1;return TRUE;}int Ch_Init (Ch *s){if(s == NULL){return FALSE;}s->top = -1;return TRUE;}int Num_Empty (Num *s){if(s == NULL){return FALSE;}return s->top == -1;}int Ch_Empty (Ch *s){if(s == NULL){return FALSE;}return s->top == -1;}int Num_Full (Num *s){if(s == NULL){return FALSE;}return s->top == (SIZE-1);}int Ch_Full (Ch *s){if(s == NULL){return FALSE;}return s->top == (SIZE-1);}int Num_Push (Num *s, int x){if(s == NULL){return FALSE;}if(Num_Full(s)){return FALSE;}s->num[++s->top] = x;return TRUE;}int Ch_Push (Ch *s, char x){if(s == NULL){return FALSE;}if(Ch_Full(s)){return FALSE;}s->ch[++s->top] = x;return TRUE;}int Num_Pop (Num *s, int *x){if(s == NULL){return FALSE;}if(Num_Empty(s)){return FALSE;}*x = s->num[s->top--];return TRUE;}int Ch_Pop (Ch *s, char *x){if(s == NULL){return FALSE;}if(Ch_Empty(s)){return FALSE;}*x = s->ch[s->top--];return TRUE;}int Num_GetTop (Num *s, int *x){if(s == NULL){return FALSE;}if(Num_Empty(s)){return FALSE;}*x = s->num[s->top];return TRUE;}int Ch_GetTop (Ch *s, char *x){if(s == NULL){return FALSE;}if(Ch_Empty(s)){return FALSE;}*x = s->ch[s->top];return TRUE;}//判断是不是数字int math (char s){if(s>='0' && s<='9')return TRUE;return FALSE;}//得到计算数int getmath (int a, int sum){int b = sum;b = b*10 + a;return b;}int Jud(Ch *s, char ch)//判断是否要入栈{if(s->top == -1)//栈顶元素为空,入栈{return TRUE;}else{switch (s->ch[s->top])//对栈顶元素判断{case '+':case '-':{if(ch == '+' || ch == '-' || ch == ')')//加减和右括号不进栈,其余的进栈{return FALSE;}else{return TRUE;}break;}case '*':case '/':{if ( ch =='(')//乘除除了左括号进栈其他不进栈{return TRUE;}else{return FALSE;}break;}case '(':{return TRUE;//左括号全部进栈break;}}}}//运算int Calcu(int a, int b, char c){switch(c){case '+':return a + b;case '-':return a - b;case '*':return a * b;case '/':return a / b;}}
阅读全文
0 0
- Java计算器(1)
- 计算器(1)
- 简易计算器 (1)
- 计算器(1)
- 计算器-1
- C++实践之路-----计算器(1)
- MFC基础教程(简单计算器)<1>
- 第二十二节 表达式计算器(1)
- MFC编程学习 ------(1)加法计算器
- 第三周项目(1):个人所得税计算器
- hdoj 1237 简单计算器(计算器应用)
- C#实现计算器(简单计算器)
- Android计算器(1)
- 计算器1 ------C#窗体
- Android学习-计算器1
- 【java】计算器1
- 10.1(1)小小计算器
- java Tree1.1计算器
- 【caffe源代码的梳理之四】caffe数据I/O模块——数据读取层DataLayer
- [学习笔记]微信非80端口网页授权
- android 权限申请
- 第二个项目:多线程
- tensorflow加载saver.restore目录报错
- 计算器(1)
- 计算机网络相关知识总结
- IntelliJ IDEA部署项目时找不到artifact
- MySQL存储引擎
- C语言之字符串与运算符篇
- C语言之内存管理
- goto void extern sizeof
- Kinect数据
- 如何解决合法帧