#include<bits/stdc++.h>
using namespace std;
string s="true";
long long shi(long long n){
	if(n%10>=5) return n-n%10+10;
	else return n-n%10; 
}
long long bai(long long n){
	if(n%100>=50) return n-n%100+100;
	else return n-n%100; 
}
long long qian(long long n){
	if(n%1000>=500) return n-n%1000+1000;
	else return n-n%1000; 
}
long long wan(long long n){
	if(n%10000>=5000) return n-n%10000+10000;
	else return n-n%10000; 
}
long long shiwan(long long n){
	if(n%100000>=50000) return n-n%100000+100000;
	else return n-n%100000; 
}
long long baiwan(long long n){
	if(n%1000000>=500000) return n-n%1000000+1000000;
	else return n-n%1000000; 
}
long long qianwan(long long n){
	if(n%10000000>=5000000) return n-n%10000000+10000000;
	else return n-n%10000000; 
}
long long yi(long long n){
	if(n%100000000>=50000000) return n-n%100000000+100000000;
	else return n-n%100000000; 
}
int main(){
		cout<<"欢迎使用ZQR的自制高级计算器,包含了20个功能哦!"<<endl;
		while(s=="true"){
		cout<<"请输入计算方法"<<endl; 
		cout<<"***********************"<<endl;
		cout<<"******1--加法**********"<<endl;
		cout<<"******2--减法**********"<<endl;
		cout<<"******3--乘法**********"<<endl;
		cout<<"******4--除法**********"<<endl;
		cout<<"******5--连加**********"<<endl;
		cout<<"******6--连减**********"<<endl;
		cout<<"******7--连乘**********"<<endl;
		cout<<"******8--连除**********"<<endl;
		cout<<"******9--估算**********"<<endl;
		cout<<"*****10--绝对值********"<<endl; 
		cout<<"*****11--a的n次方******"<<endl;
		cout<<"*****12--根号**********"<<endl;
		cout<<"*****13--数排序********"<<endl;
		cout<<"*****14--求1/x的值*****"<<endl;
		cout<<"*****15--求余**********"<<endl;
		cout<<"*****16--n的阶乘*******"<<endl;
		cout<<"*****17--exp***********"<<endl;
		cout<<"*****18--a/b上取整*****"<<endl;
		cout<<"*****19--a/b下取整*****"<<endl;
		cout<<"*****20--x进制转y进制**"<<endl;
		cout<<"***********************"<<endl;
		cout<<"作者已经更新到15个功能了,剩下的暂未开发,请勿使用"<<endl; 
		int n;
		cin>>n;
		if(n<1 || n>20){
			cout<<"没有找到你想要的计算方法,请重新点进去后使用已有的计算方法吧~"<<endl;
			return 0; 
		}
		if(n==1){
			cout<<"您要算加法"<<endl;
			double jia1,jia2;
			cout<<"请输入第一个加数"<<endl; 
			cin>>jia1;
			cout<<"请输入第二个加数"<<endl;
			cin>>jia2;
			cout<<"这两个数的和是"<<jia1+jia2<<endl;
		}
		if(n==2){
			cout<<"您要算减法"<<endl;
			double jian1,jian2;
			cout<<"请输入被减数"<<endl;
			cin>>jian1;
			cout<<"请输入减数"<<endl;
			cin>>jian2;
			cout<<"这两个数的差是"<<jian1-jian2<<endl; 
		}
		if(n==3){
			cout<<"您要算乘法"<<endl;
			double cheng1,cheng2;
			cout<<"请输入第一个因数"<<endl;
			cin>>cheng1;
			cout<<"请输入第二个因数"<<endl;
			cin>>cheng2;
			cout<<"这两个数的积是"<<cheng1*cheng2<<endl;
		}
		if(n==4){
		cout<<"您要算除法"<<endl;
		double chu1,chu2;
		cout<<"请输入被除数"<<endl;
		cin>>chu1;
		cout<<"请输入除数"<<endl;
		cin>>chu2;
		if(chu2==0){
			while(chu2==0){
				cout<<"除数不能为0,请重新输入!!"<<endl;
				cin>>chu2;
			}
		}
		cout<<"这两个数的商是"<<chu1/chu2<<endl;
		}
		if(n==5){
		cout<<"您要算连加"<<endl;
		double jia1,jia2;
		jia1=0,jia2=0;
		cout<<"请输入加数,如要停止,请输入-1"<<endl;
		while(1){
			cin>>jia2;
			if(jia2==-1) break;
			jia1+=jia2; 
			}
			cout<<"这几个加数的和是"<<jia1<<endl; 
		}
		if(n==6){
		cout<<"您要算连减"<<endl;
		double jian1,jian2;
		jian1=0,jian2=0;
		double ans=0;
		cout<<"请输入被减数"<<endl;
		cin>>jian1;
		cout<<"请输入减数,如要停止,请输入-1"<<endl; 
		while(1){
			 cin>>jian2;
			 if(jian2==-1) break;
			 jian1-=jian2;
			}
			cout<<"被减数与减数的差是"<<jian1<<endl; 
		} 
	if(n==7){
	cout<<"您要算连乘"<<endl;
	double cheng1,cheng2=1;
	cheng1=0,cheng2=1;
	cout<<"请输入因数,如要停止,请输入-1"<<endl;
	while(1){
			cin>>cheng1;
			if(cheng1==-1) break;
			cheng2*=cheng1; 
		}
		cout<<"这几个数的积是"<<cheng2<<endl;
	}
	if(n==8){
	cout<<"您要算连除"<<endl;
	double chu1,chu2;
	chu1=0,chu2=0;
	cout<<"请输入被除数"<<endl;
	cin>>chu1;
	cout<<"请输入除数,如要停止,请输入-1"<<endl;
	while(chu2>-1){
			cin>>chu2;
			if(chu2==-1) break;
			else if(chu2==0){
				cout<<"除数不能为0!!!!请重新输入!!!!!"<<endl;
			}else{
				chu1/=chu2;
			}
		}
		cout<<"被除数与除数的商是"<<chu1<<endl;
	}
	if(n==9){
		cout<<"您要估算一个数"<<endl;
		cout<<"请输入要估算的数"<<endl;
		long long n;
		cin>>n;
		cout<<"请问你要估算到哪一位?(最多估算到亿位哦~)"<<endl;
		cout<<"**********************"<<endl;
		cout<<"*********s--十位******"<<endl;
		cout<<"*********b--百位******"<<endl;
		cout<<"*********q--千位******"<<endl;
		cout<<"*********w--万位******"<<endl;
		cout<<"*********a--十万位****"<<endl;
		cout<<"*********m--百万位****"<<endl;
		cout<<"*********i--千万位****"<<endl;
		cout<<"*********y--亿位******"<<endl;
		cout<<"**********************"<<endl;
		char s;
		cin>>s;
		if(s=='s') cout<<"这个数估算后的结果是"<<shi(n)<<endl;
		if(s=='b') cout<<"这个数估算后的结果是"<<bai(n)<<endl;
		if(s=='q') cout<<"这个数估算后的结果是"<<qian(n)<<endl;
		if(s=='w') cout<<"这个数估算后的结果是"<<wan(n)<<endl;
		if(s=='a') cout<<"这个数估算后的结果是"<<shiwan(n)<<endl;
		if(s=='m') cout<<"这个数估算后的结果是"<<baiwan(n)<<endl;
		if(s=='i') cout<<"这个数估算后的结果是"<<qianwan(n)<<endl;
		if(s=='y') cout<<"这个数估算后的结果是"<<yi(n)<<endl;
	}
	if(n==10){
		cout<<"您要算一个数的绝对值"<<endl;
		cout<<"请输入这个数"<<endl;
		long long n;
		cin>>n;
		cout<<"这个数的绝对值是"<<abs(n)<<endl; 
	}
	if(n==11){
		cout<<"您要进行幂运算"<<endl;
		cout<<"请输入底数a和指数n(目前仅支持整数幂)"<<endl;
		long long a,n;
		cin>>a>>n;
		cout<<"幂运算的结果是";
		if(n>0) cout<<pow(a,n)<<endl;
		else if(n<0) cout<<"1/"<<pow(a,-n)<<endl;
		else cout<<1<<endl;
	} 
	if(n==12){
		cout<<"您要对一个数进行开方"<<endl;
		cout<<"请输入要开方的数"<<endl;
		double a;
		cin>>a;
		cout<<"开方的结果是"<<sqrt(a)<<endl; 
	}
	if(n==13){
		cout<<"您要对一个或多个数进行排列"<<endl;
		cout<<"请输入待排序数字的个数(最大为500)"<<endl;
		long long n;
		cin>>n;
		if(n>500){
			while(n>500){
				cout<<"数量太多了,请重新输入!"<<endl;
				cin>>n;
			}
		} 
		cout<<"请输入每一个数(目前仅支持整数)"<<endl; 
		long long a[505];
		for(int i=1;i<=n;i++) cin>>a[i];
		cout<<"请输入排序方式(\">\"为从大到小,\"<\"为从小到大)"<<endl;
		string s;
		cin>>s;
		sort(a+1,a+1+n);
		cout<<"排序结果为"; 
		if(s==">"){
			for(int i=n;i>=1;i--){
				cout<<a[i];
				if(i!=1) cout<<">"; 
			}
			cout<<endl;
		}else{
			for(int i=1;i<=n;i++){
				cout<<a[i];
				if(i!=n) cout<<"<";
			}
			cout<<endl;
		}
	}
	if(n==14){
		cout<<"您要求1/x的值"<<endl;
		cout<<"请输入x(目前支持小数)"<<endl;
		double x;
		cin>>x;
		double y=1/x;
		cout<<"运算结果为"<<y<<endl; 
	}
	if(n==15){
		cout<<"您要算a/b的余数"<<endl;
		cout<<"请输入被除数a和除数b(目前仅支持整数)"<<endl;
		long long a,b;
		cin>>a>>b;
		cout<<"取模的结果是"<<a%b<<endl; 
	}
	if(n>15 && n<=20){
		 cout<<"这个计算方法还没有开发哦~请重新点进去,使用别的计算方法吧~"<<endl;
		 return 0; 
	} 
	cout<<"还要继续使用吗?"<<endl;
	cout<<"*******************"<<endl;
	cout<<"**true--继续使用***"<<endl;
	cout<<"**false--退出使用**"<<endl; 
	cout<<"*******************"<<endl;
	cin>>s;
	if(s!="true" && s!="false"){
		while(s!="true" && s!="false"){
			cout<<"您的输入有误,请重新输入!"<<endl;
			cin>>s;
		}
	} 
}
	cout<<"感谢您的使用,欢迎您下次再来使用!"<<endl;
	cout<<"作者:ZQR(作者已经设定为匿名制作)"<<endl;
	return 0;
} 

自制计算器(还没有做完),有问题欢迎评论区反馈,我会及时阅读,并更新计算器的!!

2 条评论

  • 1