出错了,但不知道哪里错了
#include <bits/stdc++.h>
using namespace std;
int main()
{
string InputSTR;
cin >> InputSTR;
int StrLength = InputSTR.length();
int Equals_SignPosition;
for (int NowChar = 0 ; NowChar < StrLength ; NowChar++)if (InputSTR[NowChar] == '='){Equals_SignPosition = NowChar;break;}
string StrLeft = "", StrRight = "";
for (int NowChar = 0 ; NowChar < Equals_SignPosition ; NowChar++)StrLeft += InputSTR[NowChar];
for (int NowChar = Equals_SignPosition + 1 ; NowChar < StrLength ; NowChar++)StrRight += InputSTR[NowChar];
int StrLeftLength = StrLeft.length(), StrRightLength = StrRight.length();
int Unknown_NumberSum = 0, NumberSum = 0;
int Number = 0;
bool Unknown_Number = 0;
char UnkNown_NumberName;
for (int NowNumber = StrLeftLength - 1 ; NowNumber >= 0 ; NowNumber--)
{
if (StrLeft[NowNumber] >= '0' && StrLeft[NowNumber] <= '9')
{
if (Unknown_Number)Unknown_Number = Unknown_Number * 10 + StrLeft[NowNumber] - '0';
else Number = Number * 10 + StrLeft[NowNumber] - '0';
}
else if (StrLeft[NowNumber] == '+')Unknown_NumberSum += Unknown_Number, NumberSum += Number;
else if (StrLeft[NowNumber] == '-')Unknown_NumberSum -= Unknown_Number, NumberSum -= Number;
else UnkNown_NumberName = StrLeft[NowNumber];
}
for (int NowNumber = StrRightLength - 1 ; NowNumber >= 0 ; NowNumber--)
{
if (StrRight[NowNumber] >= '0' && StrRight[NowNumber] <= '9')
{
if (Unknown_Number)Unknown_Number = Unknown_Number * 10 + StrRight[NowNumber] - '0';
else Number = Number * 10 + StrRight[NowNumber] - '0';
}
else if (StrRight[NowNumber] == '+')Unknown_NumberSum -= Unknown_Number, NumberSum -= Number;
else Unknown_NumberSum += Unknown_Number, NumberSum += Number;
}
double PrintNumberSum = NumberSum / Unknown_NumberSum;
cout << UnkNown_NumberName << '=' << fixed << setprecision(3) << PrintNumberSum;
return 0;
}
希望各位大佬给点提示!