• hfyserendipity
    了解作者
  • C/C++
    开发工具
  • 274KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2021-04-02 23:21
    上传日期
编程实现后缀表达式的计算。(40’) (注: 运算数和运算符之间以空格分隔,表达式结尾为EOF) 输入描述 第一行后缀算数表达式,数字均为正整数,运算符只考虑加减乘除四则运算。(注: 考虑多位数) 输出描述 第一行:如果符号平衡性检查发现不合法,输出illegal;如果合法,输出后缀表达式计算结果。(注: 不要出现拼写错误)
houzhui.zip
  • bin
  • Debug
  • houzhui.exe
    945KB
  • obj
  • Debug
  • Stack.o
    34.6KB
  • main.o
    32.5KB
  • main.cpp
    137B
  • houzhui.cbp
    1.1KB
  • houzhui.layout
    446B
  • Stack.cpp
    2.4KB
  • Stack.h
    733B
  • houzhui.depend
    268B
内容介绍
#include "Stack.h" #include <iostream> int current; int flag=1; using namespace std; bool stack::isEmpty() { if (top == -1) { flag=0; return true; } else { return false; } } bool stack::push(const double pushvalue) { if (top == size) { cout << "illegal" << endl; flag=0; return false; } st[++top] = pushvalue; return true; } bool stack::pop(double& popvalue) { current=top; if (top == -1) { cout << "illegal" << endl; flag=0; return false; } popvalue = st[top--]; return true; } void calculator::run() { char instream; double number; while (cin >> instream) { if(flag==0) { break; } switch (instream) { case'+': case'-': case'*': case'/': calculate(instream); break; default: cin.putback(instream); cin >> number; data.push(number); } if (cin.get() == '\n') { break; } } double finalnumber; data.pop(finalnumber); if(current==0) { cout<<finalnumber<<endl; } if(current!=-1&&current>0) { cout<<"illegal"<<endl; flag=0; } } void calculator::calculate(char symbolvalue) { double a, b; if (get(a, b)) { switch (symbolvalue) { case'+': { data.push(a + b); break; } case'-': { data.push(a - b); break; } case'*': { data.push(a * b); break; } case'/': { if (b == 0.0) { clear(); break; } else { data.push(a / b); break; } } } } else { clear(); } } void calculator::clear() { data.~stack(); } bool calculator::get(double& a, double& b) { if (data.isEmpty()) { return false; } data.pop(b); if (data.isEmpty()) { return false; } data.pop(a); return true; }
评论
    相关推荐