c++计算器

9 篇文章 0 订阅

//特别补充打出√的方法:按住alt的同时按41420
#include<bits/stdc++.h>
#include <windows.h>//Sleep要用
#pragma GCC optimize(2)//手动开启O2优化
using namespace std;
int main() {
    cout<<"本计算器有+ - * / % ^ √! 八种运算"<<"\n";
    cout<<"(因某些原因 √ 用 ~ 代替)"<<"\n";//ASCII不支持√
    cout<<"数据不超过 long long (暂时不支持高精度)"<<"\n";//高精度懒得写了,见谅
    cout<<"除法和根号保留十六位小数"<<"\n";
    while(1) {//while循环反复计算
        char s;
        cout<<"请输入您选择的运算(符号+ - * / % ^ ~ !):";
        cin>>s;
        if(s=='+') {
            long long a,b;
            cout<<"请输入第一个加数:";
            cin>>a;
            cout<<"请输入第二个加数:";
            cin>>b;
            cout<<"和是:"<<a+b<<"\n";
        } else if(s=='*') {
            long long a,b;
            cout<<"请输入第一个乘数:";
            cin>>a;
            cout<<"请输入第二个乘数:";
            cin>>b;
            cout<<"积是:"<<a*b<<"\n";
        } else if(s=='-') {
            long long a,b;
            cout<<"请输入被减数:";
            cin>>a;
            cout<<"请输入减数:";
            cin>>b;
            cout<<"差是:"<<a-b<<"\n";
        } else if(s=='/') {
            double a,b;
            cout<<"请输入被除数:";
            cin>>a;
            cout<<"请输入除数:";
            cin>>b;
            cout<<"商是:";
            printf("%.16lf\n",a/b);
        } else if(s=='%') {
            long long a,b;
            cout<<"请输入被除数:";
            cin>>a;
            cout<<"请输入除数:";
            cin>>b;
            cout<<"余数是:"<<a%b<<"\n";
        } else if(s=='^') {
            long long a,b;
            cout<<"请输入底数:";
            cin>>a;
            cout<<"请输入指数:";
            cin>>b;
            cout<<"结果是:"<<pow(a,b)<<"\n";
        } else if(s=='~') {
            double a;
            cout<<"请输入n:";
            cin>>a;
            a=sqrt(a);
            cout<<"结果是:";
            printf("%.16lf\n",a);
        } else if(s=='!') {
            long long n,ans=1,i;
            cout<<"请输入n:";
            cin>>n;
            for(i=1; i<=n; i++)
                ans*=i;
            cout<<ans<<"\n";
        } else {
            cout<<"无效输入"<<"\n";
        }
        cout<<"是否结束(yes/no)"<<"\n";
        while(1) {
            string ss;
            cin>>ss;
            if(ss[0]=='y'&&ss[1]=='e'&&ss[2]=='s') {
                cout<<"使用结束,即将结束进程"<<"\n"<<"wait......"<<"\n";
                for(int i=3; i>=1; i--) {
                    cout<<i<<"\n";
                    Sleep(500);//暂停程序几秒
                }
                return 0;
            } else if(ss[0]=='n'&&ss[1]=='o')
                break;
            else
                cout<<"无效输入"<<"\n";
        }
    }
    return 0;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值