Помогите выполнить задание

Итерационные алгоритмы

Вычислить сумму первых N членов ряда, значения N и x ввести с клавиатуры.

Мои попытки:

#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

int main()
{
    double a,b,x,y,k;
    int n,i;
    cout << "Введите N" << endl;
    cin >> n;
    cout << "Введите X" << endl;
    cin >> x;
    a = atan(x);
    b = 1;
    i = 1;
    k = 2;
    y = a/b;
    do
    {
        a = a + k;
        b = b + k;
        y = y + a/b;
        k++;
        a++;
        i = i + 1;
    }
    while(i<n);
    cout << fixed << setprecision(4) << y << endl;
    return 0;
}

А что именно не так? Ошибку какую-то выдает, или результат не тот?

В вашем коде получается ряд:
y = arctg(x) / 1 + (arctg(x) + 2) / (1 + 2) + (arctg(x) + 2 + 1 + 3) / (1 + 2 + 3) + ...
Делал бы через цикл for и с меньшим количеством переменных:

    a = atan(x);
    b = 0;
    y = 0;
    for (int i = 1; i <= n; i++)
    {
        b += i;
        y += (a + i) / b;
    }