zoukankan      html  css  js  c++  java
  • Polish calculation

    //cww 逆波兰计算器
    #include<stack>
    #include<cstdio>
    #include<iostream>
    using namespace std;
    stack<double>s;
    
    char read(){
        while (1){
            printf("Select command and press<Enter>:");
            char ch; cin>>ch;
            if (ch=='?'||ch=='='||ch=='+'||
                ch=='-'||ch=='*'||ch=='/'||
                ch=='q'||ch=='Q')return ch;
            puts("Please enter a valid command:");
            puts("[?]push to stack [=]print top");
            puts("[+] [-] [*] [/] you know them");
            puts("[Q]uit =======Bazinga!=======");
        }
    }
    
    bool solve(char ch){
        double x,y;
        if (ch=='q'||ch=='Q'){
            puts("Calculation finshed.");
            return 0;
        }
        if (ch=='?'){
            printf("Enter a real number:");
            cin>>x; s.push(x);
        }
        if (ch=='='){
            if (s.empty())puts("Stack empty");
            else printf("%.0lf
    ",s.top());
        }
        if (ch=='+'||ch=='-'||ch=='*'||ch=='/'){
            if (s.empty())puts("Stack empty");
            else{
                x=s.top(); s.pop();
                if (s.empty()){
                    puts("Stack has just one entry");
                    s.push(x);
                }
                else{
                    y=s.top();s.pop();
                    switch (ch){
                        case'+':s.push(x+y);break;
                        case'-':s.push(x-y);break;
                        case'*':s.push(x*y);break;
                        case'/':s.push(x/y);break;
                    }
                }
            }
        }
        return 1;
    }
    //==========cww=2016,2,28=23:27=============== 
    int main(){
        puts("welcome");
        while (!s.empty())s.pop();
        while (solve(read())){}
        return 0;
    }
  • 相关阅读:
    Android 读写文件
    Android junit单元测试
    pilot
    关闭端口8080/1099
    [table-ext.js]用于ajax请求后绑定返回json对象到table
    对一段汇编代码优化思路
    Hello
    第1章Java语言概述 以后我会陆续更新从零基础学习的
    MyEclipse快捷键大全(绝对全)
    2018总结,2019计划
  • 原文地址:https://www.cnblogs.com/cww97/p/12349421.html
Copyright © 2011-2022 走看看