Polish calculation
来源:互联网 发布:python vs2010 编辑:程序博客网 时间:2024/06/06 02:52
//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\n",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;}
0 0
- Polish calculation
- Calculation
- calculation error
- Calculation constellation
- Histogram Calculation
- Ternary Calculation
- Simple Calculation
- Simple Calculation
- Ternary Calculation
- whu1608 Calculation
- J2ME Polish
- J2ME Polish
- Loop filter calculation
- UESTC - 1429 Easy Calculation
- EMA & MACD calculation
- The calculation of GPA
- Calculation of CPI
- Sicily 3392. Simple Calculation
- Android设计模式系列(6)--SDK源码之享元模式
- 双层for循环遍历数据
- JavaScript设计模式 Item9 --适配器模式Adapter
- 试用Gson 解析json字符串
- tomcat集群机制剖析-tomcat的session会话共享方式
- Polish calculation
- String的indexOf
- [Java代码] JAVA 持有对象——容器初探(持续补充)
- git 存储多个用户名和密码
- Android UiAutomator 初试。
- GitHub Top 100的Android开源库
- JavaMail:简单的邮件接收程序
- Android Studio 插件 ——Android Butterknife Zelezny
- SpringMvc form日期字符串到后台bean分秒丢失