long double

Oll i

Grünschnabel
hi, leute
hab ein Problem mit einem Programm, dass mir eine Wurzel berechnen soll
es gibt sie natürlich nur näherungsweise an, aber mein eigentliches Problem sind die ziffern hinterm Komma ich hab einen long double deklariert(also 10 stellen hinterm Komma oder)
aber er berechnet nur auf 5 stellen. :confused: Kann mir jemand helfen
wär echt nett!
PHP:
#include<iostream.h>
#include<conio.h>

main(long double RD)
{
         long double ON;
         long double UN = 0;
         long double MI;
         cout << "Radikant=";
         cin >> RD;
         ON = RD;
         while(ON-UN >= 0.0000001)
         {
                     MI = (ON+UN)/2;
                     if(MI*MI>RD)
                     {
                         ON = MI;
                         cout << MI << endl;
                     }
                     else
                     {
                         UN = MI;
                         cout << MI << endl;
                     }
                     
         }
         cout << MI;
         getch();
         return(0);        
}
 
Füge mal die Zeile

C++:
cout.precision(10);

vor deiner Ausgabe hinzu (zB. am Anfang des Programms)
Dann sollte es gehen.

Übrigens, deine main Funktion ist so wie du sie hier gepostet hast falsch
 
Hey danke, jetzt funktioniert's :)
Aber wieso ist die main funktion falsch
bei mir und meinem Dev-C++ Compiler funktioniert die und es kommt keine Warnung.
 
Oll i hat gesagt.:
Hey danke, jetzt funktioniert's :)
Aber wieso ist die main funktion falsch
bei mir und meinem Dev-C++ Compiler funktioniert die und es kommt keine Warnung.

Entgegen der (leider) weit verbreiteten Meinung vieler Programmierer ist keines der beiden Argumente ( lässt sich compilieren und funktioniert) ein akzeptables Argument für die Richtigkeit eines Programms ;) Ich könnte Dir sicher hunderte Beispielprogramme schreiben die zwar einwandtfrei compilieren und sogar laufen und trotzdem fehlerhaft sind.

Laut C99 müßte die main funktion lauten:

int main(void)


Bei Deiner main-funktion ist es nicht definiert, was der Compiler daraus macht. Das kann funktionieren oder auch nicht...
 
Zurück