问题标题: 计算器1.0

0
0
已解决
卢秋宇
卢秋宇
修练者
修练者
/*

*/
#include <bits/stdc++.h>
#include <Windows.h>
using namespace std;
stack<double> a;
char t1;
double t2;
int main(){
        cout<<"输入一个式子(后面要带一个ctrl-z)!!!"<<endl;
        cin>>t2;
        a.push(t2);
        while(cin>>t1>>t2){
            if(t1=='+'){
                double n=a.top();
                a.pop();
                double s3=n+t2;
                a.push(s3);
            }else if(t1=='-'){
                double n=a.top();
                a.pop();
                double s3=n-t2;
                a.push(s3);
            }else if(t1=='*'){
                double n=a.top();
                a.pop();
                double s3=n*t2;
                a.push(s3);
            }else if(t1=='/'){
                if(t2==0){
                    cout<<"0不能作为除数"<<endl;
                    Sleep(3000);
                    cout<<"输入错误!!"<<endl;
                    Sleep(3000);
                    cout<<"死机死机死机"<<endl;
                    Sleep(3000);
                    cout<<"程序因死机而结束,都是因为你!!!!!!!!!!!!!!"<<endl;
                    Sleep(10000);
                    cout<<"(程序死亡!!!)"<<endl;
                    Sleep(10000);
                    exit(0);
                    return 0;
                }
                double n=a.top();
                a.pop();
                double s3=n/t2;
                a.push(s3);
            }else{
                cout<<"请重新输入"<<endl;
                Sleep(1000);
                cout<<"请输入,请输入字符在输入数字"<<endl;
                continue;
            }
        }
        printf("保留6位小数:%.6lf",a.top());
    return 0;
}

我写的,自己可以试一下,结束后可以发过来结果,并评论


0
0
李博阳
李博阳
资深守护
资深守护

真的,看到0不能为除数那一段,我小脑崩溃了。

0
郭宇晨
郭宇晨
高级守护
高级守护

<<程序因死机而结束,都是因为你>>

0
郭宇晨
郭宇晨
高级守护
高级守护

你52行“请输入,请输入字符在输入数字”的“在”应该改为“再”

0
我要回答