I'm trying to write a program that uses the series to compute the value of PI. The user will input how far it wants the program to compute the series and then the program should output its calculated value of PI. I believe I've successfully written the code for this, however it does not do well with large numbers and only gives me a few decimal places. When I tried to use cout << fixed << setprecision(42); It just gave me "nan" as the value of PI. 
int main() {
    long long seqNum; // sequence number users will input
    long double val; // the series output
    cout << "Welcome to the compute PI program." << endl; // welcome message
    cout << "Please inter the sequence number in the form of an integer." << endl;
    cin >> seqNum; // user input
    while ( seqNum < 0) // validation, number must be positive
    {
        cout << "Please enter a positive number." << endl;
        cin >> seqNum;
    } // end while
    if (seqNum > 0)
    {
        for ( long int i = 0; i < seqNum; i++ )
        {
            val = val + 4*(pow(-1.00,i)/(1 + 2*i)); // Gregory-Leibniz sum calculation
        }// end for
        cout << val;
    } // end if
    return 0;
}
Any help would be really appreciated. Thank you
 
     
    