等式中有空格时,我会收到另一个输出

时间:2019-05-29 05:28:12

标签: c++

我和我的一个朋友正在制作一个计算器。我们俩都是经验不足一个月的初学者。他给了我他的代码,并告诉我,如果有空格,它将不起作用。

例如:4 + 6 + 8 +(((3 + 4))+(4 + 8(9-5(3 * 8)))有效
例如:4 + 6 + 8

我被告知要显示最少的代码,所以这里是我希望问题出现在spaceremoval函数中的地方

string  SpaceRemoval(string & EquationText)
{
    string NewEquationText = "";

    // check every character
    for (int i = 0; i < EquationText.length(); i++)
    {
        if (EquationText[i] != ' ') // if the character is not a ' ' then add it to the NewEquationText
        {
            NewEquationText += EquationText[i];
        }
    }

    // return the NewEquationText
    return NewEquationText;
}

第二部分

bool GetEquation()
{
    // Input equation
    cout << "Equation F(x) = ";
    cin >> EquationText;

    // Add Parentheses in the equation
    AddParentheses(EquationText);

    // Remove extra spaces in the equation
    EquationText = SpaceRemoval(EquationText);

    // Check if the equation is valid
    return EquationValidation(EquationText);
}

最后一部分

#include "Header.h"

int main()
{

 while(true)
 {
    // Get Equation
    if (GetEquation())
    {
        // it's a valid equation
        calculateExpression(EquationText)
    }
    else
    {
        // it's a invalid equation
        cout << "invalid equation\n\n";
    }
 }

如果您需要查看更多代码,可以询问我。

0 个答案:

没有答案