获取使用类对数字进行乘法的程序

时间:2019-04-09 21:40:19

标签: c++

这是我的代码。错误是代码的逻辑,但我不知道如何解决。

token get_token() //function created from a class called 'token'
{
    token t; //object to access data members
    cin >> t.value >> t.kind >> t.value;
    return t;
}

vector <token> nums; //vector created to hold values from function

int main()
{
    double d = 0;
    int i = 0;
    while (cin)
    {
        token t1 = get_token();
        nums.push_back(t1);
        for (i = 0; i < nums.size(); i++)
        {
            if (nums[i].kind == '*')
            {
                d = nums[i - 1].value * nums[i + 1].value;
                cout << d << "\n";
                nums.clear(); // I use clear() to remove all elements from vector and so 'd' doesn't repeat every value it receives
            }
        }
    }
    return 0;
}

该函数被调用,t1保留char kinddouble value中的值。

t1收到的所有款项都进入vector <token> nums

向量设法保留char kinddouble value中的所有信息。

当需要乘以nums[i-1].value * nums[i + 1].value时,程序将失败。

有人可以看到此错误吗?我不知道是什么导致程序中止。

我相信该错误可能与循环中的if语句有关,但是我不确定。

对于上下文,我使用的是“编程:使用C ++的原理和实践”(第6章)。

0 个答案:

没有答案