C++课程设计日志

这段C++代码定义了一个函数用于执行基本的加减乘除操作,但在处理混合运算时无法正确处理操作符的优先级。在main函数中,程序读取用户输入的两个数值及运算符,然后进行计算。当输入包含加减乘除的混合运算时,由于没有考虑优先级,结果可能出现错误。
摘要由CSDN通过智能技术生成

#include<iostream>
#include<C:\Eigen\Eigen>
using namespace Eigen;
using namespace std;

double operation(double x1,double x2,char operat1){
    double Provisional_result;
    int i;
    if(operat1==43){
            Provisional_result=x1+x2;
        }
        if(operat1==45){
            Provisional_result=x1-x2;
        }
        if(operat1==47){
            Provisional_result=x1/x2;
        }
        if(operat1==42){
            Provisional_result=x1*x2;
            return Provisional_result;
}    }        //进行实数简单加减乘除运算的函数 

int main(){
    double a,b,Provisional_results;
    char operat[20];
    for(int i=0;i<1;i++){
        cin>>a>>operat[i]>>b;
        Provisional_results=operation(a,b,operat[i]);        //计算得到第一个临时和,即a1+b1        
    }
    
    for(int i=1;operat[i]!='\0'&&b!=' ';i++){
        cin.get(operat[i]);
        if(operat[i]=='\n')
            break;
        cin>>b;
        Provisional_results=operation(Provisional_results,b,operat[i]);
    }
    
    cout<<Provisional_results;
    return 0;
}


该段代码只能实现只含有加减的运算或者只含有乘除的运算,一旦含有加减乘除的混合运算,结果将无法分辨加减和乘除的优先级关系,导致结果出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值