Problem mit Taschenrechner der cmath nutzt



  • Ich habe mir nun anderweitig geholfen. Ist vielleicht nicht die goldene Lösung, erfüllt aber seinen Zweck und ist eine mir bekannte Variante 🙂

    cout << endl << "Das Ergebnis der Operation ist: " << c;
        cout << endl << fixed << setprecision(2) << "Auf zwei Stellen gerundet: " << c;
    


  • LordJaxom schrieb:

    Das ist nicht richtig. Double hat als Fließkommazahl keinen "festen Wertebereich" oder "feste Anzahl Stellen". Strenggenommen.

    Strenggenommen hat ein double wohl einen festen Wertebereich. Daten typen haben immer einen festen Wertebereich. Daß dieser Wertebereich allerdings im Falle von double nicht durch eine feste Anzahl Stellen festgelegt ist, ist natürlich richtig.



  • @Jester:

    Ja, mir ist auch aufgefallen dass meine Beschreibung auch genau auf "feste Anzahl Stellen" passt, nur mit variablem Komma 😉

    Aber ihr wisst ja wie's gemeint ist...



  • t1m0n schrieb:

    Ich habe mir nun anderweitig geholfen. Ist vielleicht nicht die goldene Lösung, erfüllt aber seinen Zweck und ist eine mir bekannte Variante 🙂

    Na bitte, er hat doch selber herausgefunden, wie die "formatierte Ausgabe" klappt 😉



  • CStoll schrieb:

    t1m0n schrieb:

    Ich habe mir nun anderweitig geholfen. Ist vielleicht nicht die goldene Lösung, erfüllt aber seinen Zweck und ist eine mir bekannte Variante 🙂

    Na bitte, er hat doch selber herausgefunden, wie die "formatierte Ausgabe" klappt 😉

    Ist das genau die Variante die ihr meintet??? Wenn ja hab ich auch mal einen blinden Treffer ohne Google (nur mit Buch) gelandet 🙂



  • Das ist eine mögliche Variante - je nach Bedarf könntest du noch an der Genauigkeit der Ausgabe (setprecision()) schrauben oder doch auf wissenschaftliche Darstellung wechseln (dann müsstest du dir eine eigene Genauigkeitsgrenze definieren und alles darunter auf 0 setzen: "if(c<epsilon) c=0;")



  • CStoll schrieb:

    "if(c<epsilon) c=0;")

    Was bedeutet das? Hab öfters schon von EPSILON gehört aber nichts genaueres in Tutorials erfahren. Kannst das mal erläutern oder einen Link geben?



  • "epsilon" mußt du selber definieren als eine recht kleine Zahl - die obige Anweisung setzt alles, was unter dem vorgegebenen Wert liegt, auf 0 (OK, in manchen Situationen mußt du tatsächlich mit so kleinen Werten arbeiten, aber das ist selten).



  • Bezüglich epsilon noch zwei Links zur weiteren Aufklärung.
    http://de.wikipedia.org/wiki/Epsilon (Bereich Mathematik)
    http://de.wikipedia.org/wiki/Epsilontik (Epsilontik)



  • t1m0n schrieb:

    Wenn ja hab ich auch mal einen blinden Treffer ohne Google (nur mit Buch) gelandet 🙂

    Welches Buch hast du? Ich suche nämlich noch eins, als Ergänzung zu "C++ für Kids".



  • C/C++ von Ulrich Kaiser. Da steht alles drin. Wenn du durch bist, hast du u. a. eine Enigma und ein Mensch-ärgere-dich-nicht-Spiel programmiert (als selbstständig zu lösende Aufgaben!). Kostet ca. sclappe 50 Euro.



  • TheExecut0r schrieb:

    t1m0n schrieb:

    Wenn ja hab ich auch mal einen blinden Treffer ohne Google (nur mit Buch) gelandet 🙂

    Welches Buch hast du? Ich suche nämlich noch eins, als Ergänzung zu "C++ für Kids".

    Ich habe MagnumC++ empfohlen bekommen: http://www.amazon.de/exec/obidos/ASIN/3827269059/qid=1144756342/sr=1-1/ref=sr_1_2_1/302-3946339-8497661
    Bei eBay gibts das teilweise schon ab EUR 12,95 weil Mängelware. Unifachbuch o.Ä. heißt der Powerseller...



  • t1m0n schrieb:

    CStoll schrieb:

    Was liefert er sonst? (und welchen Eingabewert verwendest du?)

    Ich verwende 90, wovon halt der Cosinus 0 ist. Aber mein Programm spuckt aus: 6,12303e-017

    Du hast recht 0,00000000000000000612303 ist verdammt weit weg von der 0 ⚠


Anmelden zum Antworten