这个拆解小算式的问题,我不会啊

问题遇到的现象和发生背景

在方程里的解决办法

问题相关代码,请勿粘贴截图
void js()
{
    int ac;
    ac=1;
    while(Find_js()<Find('=',suanshi2))//左边的小算式拆解工作
    {
        int x=Find_js();
        if(suanshi2[x]=='+')    left1[ac].ck=1;
        if(suanshi2[x]=='-')    left1[ac].ck=2;
        if(suanshi2[x]=='*')    left1[ac].ck=3;
        if(suanshi2[x]=='/')    left1[ac].ck=4;
        suanshi2.erase(x,1);
        int n=Find_js()-1;
        for(int i=0;i<=n;i++)
        {
            left1[ac].number[i-x]=suanshi2[i];
            /************复制number**************/
        }    
    }
}

struct eq//小算式
{
    int ck;
    string number;//符号,数字
}left1[100];
eq right1[100];

int Find_js()//查找
{
    for (long long i = 0; i < suanshi2.size();i++)
    {
        if (suanshi2[i] == '+'||suanshi2[i] == '-'||suanshi2[i] == '*'||suanshi2[i] == '/')
        {
            return i;
        }
    }
    return -1;
}

suanshi2是string类型

运行结果及报错内容

输出乱码

我的解答思路和尝试过的方法

这个方程首先是在第一个位置插入一个+,然后开始运行js。

我想要达到的结果

假如输入x+123=124
我希望left[1].number里是X