无论选择什么选项,函数“ void sub(int Subtraction)”都会保持打印

时间:2019-10-28 16:36:25

标签: c++ function class choice

我正在尝试为用户提供从两个选取的数字中选择和求解方程式(加,减,乘,除)的选项。每次测试输出时,无论选择如何,它都会打印 void sub(Subtraction)函数

int main()
{
    if(c.userchoice==1)
    {
        c.add(c.Addition);
    }
    else if (c.userchoice=2)
    {
        c.sub(c.Subtraction);
    }
    else if (c.userchoice=3)
    {
        c.mul(c.Multiplication);
    }       
    else if (c.userchoice=4)
    {
        c.div(c.Division);
    }
}

以下是我为add,mul,sub,div设置的功能。它们是在公共课程中设置的。可以肯定的是这是一个快速修复,出于某种原因我只是看不到。

void add(int Addition)
{
    if(userchoice==1)
    {
            cout << "Enter two numbers: ";
            cin >> usernumber1;
            cin >> usernumber2;

            equationanswer = usernumber1 + usernumber2;


            cout << usernumber1 << "+" << usernumber2 << "= ? ";
            cin >> useranswer;
    }
}

void sub(int Subtraction)
{
    if(userchoice==2)
    {               
            cout << "Enter two numbers: ";
            cin >> usernumber1;
            cin >> usernumber2;

            equationanswer = usernumber1 - usernumber2;

            cout << usernumber1 << "-" << usernumber2 << "= ? ";
            cin >> useranswer;
    }
 }

void mul(int Multiplication)
{
        if(userchoice==3)
        {          
            cout << "Enter two numbers: ";
            cin >> usernumber1;
            cin >> usernumber2;

            equationanswer = usernumber1 * usernumber2;

            cout << usernumber1 << "x" << usernumber2 << "= ? ";
            cin >> useranswer;
        }
 }

void div(int Division)
{
        if(userchoice==4)
        {           
            cout << "Enter two numbers: ";
            cin >> usernumber1;
            cin >> usernumber2;

            cout << usernumber1 << "/" << usernumber2 << "= ? ";
            cin >> useranswer;

            equationanswer = usernumber1  % usernumber2;
         }
}

1 个答案:

答案 0 :(得分:2)

我认为您需要将'='替换为'=='。

'='这是赋值运算符。