计算器!!!(丁启原快来看)
2026-10-12 20:35:41
发布于:广东
计算器!!!
格式:
1 + 2
1 * 2
1 - 2
1 / 2
1 . 2(幂运算)
|-1(绝对值)
数字+空格+符号+空格+数字
#include <iostream>
#include <iomanip>
using namespace std;
double jia(double ji1,double ji2){
return ji1+ji2;
}
double jian(double ji1,double ji2){
return ji1-ji2;
}
double cheng(double ji1,double ji2){
return ji1*ji2;
}
void chu(double ji1,double ji2){
if(ji2==0){
cout<<"除数不能为0"<<endl;
return;
}
cout<<fixed<<setprecision(4)<<ji1/ji2;
}
double mu(double ji1,double ji2){
double q=1;
for(int i=1;i<=ji2;i++){
q=q*ji1;
}
return q;
}
double abs_val(double x){
if(x < 0)
return -x;
else
return x;
}
int main(){
cout << fixed << setprecision(4);
char op;
double ji1,ji2;
while(true)
{
cout<<"\n请输入计算式,格式:数字 运算符 数字;绝对值格式:| 数字(输入 q 退出):"<<endl;
cin >> op;
if(op == 'q'){
break;
}
if(op == '|'){
cin >> ji1;
cout << abs_val(ji1) << endl;
}
else
{
cin.putback(op);
if( cin >> ji1 >> op >> ji2 )
{
if(op == '+'){
cout<<jia(ji1,ji2);
}
else if(op == '-'){
cout<<jian(ji1,ji2);
}
else if(op == '*'){
cout<<cheng(ji1,ji2);
}
else if(op == '/'){
chu(ji1,ji2);
}
else if(op == '.'){
cout<<mu(ji1,ji2);
}
else{
cout<<"未知运算符!";
}
cout << endl;
}
else{
cin.clear();
cin.ignore(1024,'\n');
cout << "输入格式错误!" << endl;
}
}
}
cout<<"程序结束"<<endl;
return 0;
}
这里空空如也















有帮助,赞一个