c++ Mindestgenauigkeit?

Hey Leute,

brauche Hilfe bei folgender Aufgabe:

Lassen Sie dafür den Benutzer eine frei wählbare Mindest-Genauigkeit der Berechnung eingeben, wie z.B. 0.001(ein Tausendstel), und brechen Sie die Schleife ab, sobald die gewünschte Genauigkeit erreicht ist. Die Genauigkeit ergibt sich natürlich aus der Differenz zwischen den Werten von xnund xn-1.

Mein quellcode sieht bis jetzt so aus:

int main()
{
    double in{ 0.0 };                                       //Initialisieren der input Zahl
    double x{ 1.0 };
    double xn{ 1.0 };
    int p{ 0 };

    cout << "Geben Sie eine Fliesskommazahl ein um die Wurzel zu berechnen: \n";
    cin >> in;                                                      //Einlesen der zu berechnenden Zahl

    cout << "Geben Sie die gewuenschte Genauigkeit ein: " << "\n";  //User wird aufgefordert die Genauigkeit der double einzugeben
    cin >> p;

    if (in > 0);                                            //Wenn input höher als null ist wird ausgeführt:
    {
        cout << "Sie haben folgende Zahl zum berechnen eingegeben: " << in << "\n";                                 //Input Zahl wird ausgegeben
        while (x - (x-1) <= p)                         //i startet bei 0 und wird bis zum 8. Durchlauf ausgeführt
        {
            x = xn;                                         //Zuweisung für die Wurzel
            xn = (x + in / x) / 2;                          //Zuweisung der Formel der Wurzelberechnung für xn
           // cout.precision(p);                              //Die Zahlen werden mit der Genauigkeit p ausgegeben
            cout << x << "\n";                              //Ausgabe der Wurzelberechnung
        }
        
        cout << "Die Wurzelberechnung ergibt: " << x << "\n";
    }
    
    return 0;
}

wie kann ich meine while schleife ändern, sodass ich die aufgabe erfülle? hänge hier fest..

Computer, Schule, Mathematik, Technik, programmieren, CPP, Informatik

Meistgelesene Beiträge zum Thema Informatik