Wie kann ich das Ergebnis mit der Dezimalzahl in Division erhalten? C ++, Pi

Meine Schule beauftragt mich mit der Berechnung des Pi.

Das Ergebnis sollte sein:

Question 4
Accuracy set at : 1000

term               pi
1                  4
100                3.13159
200                3.13659
300                3.13826
400                ...
...                ...

Das Ergebnis in meinem Programm:

term               pi
1                  4
100                3
200                3
300                3
400                ...
...                ...

Ich vermute, dass wenn ich (4 / Nenner), das Ergebnis die Dezimalzahl verlieren wird, obwohl ich einige Deklarationen des Datentyps von int auf double geändert habe. (Einige Websites fordern mich auf, dies zu tun.) Vielleicht mache ich es falsch.

Wie kann ich mit diesem Problem umgehen?

Das Folgende ist mein Programm.

#include <iostream>
using namespace std;


class Four
{
private:
    int inputedAccuracy;
    double pi;
    int denominator;
    int doneTermCounter;
    double oneTerm;
    int negativeController;

public:
    double question4()
    {
        cout << "Accuracy set at : " ;
        cin >> inputedAccuracy;
        cout << endl;
        pi = 0.0;
        denominator = 1.0;
        doneTermCounter = 0;

        negativeController = 1;
        cout << "Term" << "            " << "pi" << endl;
        cout << "1  " << "             " << "4" << endl;


        for (inputedAccuracy; inputedAccuracy > 0; inputedAccuracy -= 100)
        {
            for (int doneTerm = 0; doneTerm < 100; doneTerm++)
            {
                pi = pi + (negativeController * 4 / denominator);
                negativeController *= -1;
                denominator += 2;
                doneTermCounter++;
            }
            if (doneTermCounter >= 10000)
                cout << doneTermCounter << "             " << pi << endl;
            else
                if (doneTermCounter >= 1000)
                    cout << doneTermCounter << "            " << pi << endl;
                else
                    cout << doneTermCounter << "             " << pi << endl;
        }
        return 0.0;
    }
};

Vielen Dank für Ihre Aufmerksamkeit!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage