sergej: Headerdatei für Wurzelberechnung in C++

Hi People, :-)

ich wollte hier eine Message loswerden, bin aber erstmal 40 min bei den Einträgen hängen geblieben, konnte mich nicht wegreisen... hehe...  was man in so einem Forum so neues lernt :-)

Nu aber zu meiner kleinen Frage. :

Ich schreibe gerade so ein primitives Taschenrechnerprogrammchen in C++ und möchte ein paar Fututres einbauen, wie zum beispiel Wurzelberechnung.

Welche Headerdatei benötigt man dazu? (nur die math.h?)
und wie sieht dann für die "Extra-Rechenarten" die Syntax aus?

Dank im voraus

S.K.

  1. Hoi,

    Welche Headerdatei benötigt man dazu? (nur die math.h?)

    Ja, nur die math.h.

    und wie sieht dann für die "Extra-Rechenarten" die Syntax aus?

    Wie meinst du das? Die Funktion, die die Quadratwurzel ausrechnet, ist

    double sqrt(double x)

    Gruesse,
     c.j.k

    1. Hoi,

      jo
      handschüttel und so :-)

      und wie sieht dann für die "Extra-Rechenarten" die Syntax aus?

      Wie meinst du das? Die Funktion, die die Quadratwurzel ausrechnet, ist

      double sqrt(double x)

      ähm

      Hey Christian, das ist schon das dritte Mal, dass du mir hilfst, ich glauebe ich werde dich als Privatlehrer einstellen hehe :-)

      Nochmal zum Thema ... Welche Möglichkeiten hat das math.h noch?

      Hier ein Ausschnitt aus dem Programm:

      -------------------------------------------------------------------
      Der Benutzer gibt zwei Zahlen ein und die werden dann eben mithilfe von den möglichen Rechnungsarten berechnet.
      In etwa so.....
      (wie mache ich es, dass die Wurzeljetzt berechnet wird?)

      cout << "\nAddition: " << x + y << '\n';
      cout << "Subtraktion: " << x - y << '\n';
      cout << "Multiplikation: " << x * y << '\n';
      cout << "Division: " << x / y << '\n';
      cout << "Modulo: "  << int (x) % int (y) << '\n';//Hier wandele ich die floats in int, weil Modulo ja nur ganze Werte haben möchte.

      ....................................................................

      :-)

      S.K.
      ---------------------------------------------------------------------

      1. Hallo,

        Nochmal zum Thema ... Welche Möglichkeiten hat das math.h noch?

        schau doch einfach rein :)

        /* The file <bits/mathcalls.h> contains the prototypes for all the actual math functions ...

        und in mathcalls.h stehen dann jede Menge Funktionsnamen
        (acos, sqrt, ...)

        Hier ein Ausschnitt aus dem Programm:


        Der Benutzer gibt zwei Zahlen ein und die werden dann eben mithilfe von den möglichen Rechnungsarten berechnet.
        In etwa so.....
        (wie mache ich es, dass die Wurzeljetzt berechnet wird?)

        ---------------------------------------------------------------------

        erst mal nur eine Zahl, es sei denn, du willst die x-te Wurzel aus y:

        cout << "Wurzel: " << sqrt(y) << '\n';

        Gruss
        Thomas

      2. Moin,

        Hey Christian, das ist schon das dritte Mal, dass du mir hilfst, ich glauebe ich werde dich als Privatlehrer einstellen hehe :-)

        Nochmal zum Thema ... Welche Möglichkeiten hat das math.h noch?

        Schau dir mal
        http://www.freebsd.org/cgi/man.cgi?query=math&apropos=0&sektion=3&manpath=FreeBSD+4.5-stable&format=html
        an.

        Der Benutzer gibt zwei Zahlen ein und die werden dann eben
        mithilfe von den möglichen Rechnungsarten berechnet.
        In etwa so.....
        (wie mache ich es, dass die Wurzeljetzt berechnet wird?)

        hast du ueber 'int main()' ein 'using namespace std' stehen?
        Strengere Compiler meckern, wenn nicht. Alternativ kannst du auch
        std::cout schreiben, bzw. std::cin.

        cout << "\nAddition: " << x + y << '\n';
        cout << "Subtraktion: " << x - y << '\n';
        cout << "Multiplikation: " << x * y << '\n';
        cout << "Division: " << x / y << '\n';
        cout << "Modulo: "  << int (x) % int (y) << '\n';//Hier wandele ich die floats in int, weil Modulo ja nur ganze Werte haben möchte.

        Wenn du schon C++ verwendest, solltest du vielleicht eher

        std::cout << static_cast<int>(x) % static_cast<int>(y) << std::endl;

        schreiben. Wegen der Quadratwurzel:

        std::cout << sqrt(x) << std::endl;

        bzw. fuer die y-te Wurzel aus x:

        std::cout << pow(x,1/y) << std::endl;

        Das kann man schreiben, weil die y-te Wurze aus x dasselbe ist wie
        x^(1/y).

        Gruesse,
         c.j.k

        1. Hi :-)!

          Schau dir mal
          http://www.freebsd.org/cgi/man.cgi?query=math&apropos=0&sektion=3&manpath=FreeBSD+4.5-stable&format=html
          an.

          hab ich... (gut)

          Der Benutzer gibt zwei Zahlen ein und die werden dann eben
          mithilfe von den möglichen Rechnungsarten berechnet.
          In etwa so.....
          (wie mache ich es, dass die Wurzeljetzt berechnet wird?)

          hast du ueber 'int main()' ein 'using namespace std' stehen?

          jo, hab ich auch

          Strengere Compiler meckern, wenn nicht. Alternativ kannst du auch
          std::cout schreiben, bzw. std::cin.

          cout << "\nAddition: " << x + y << '\n';
          cout << "Subtraktion: " << x - y << '\n';
          cout << "Multiplikation: " << x * y << '\n';
          cout << "Division: " << x / y << '\n';
          cout << "Modulo: "  << int (x) % int (y) << '\n';//Hier wandele ich die floats in int, weil Modulo ja nur ganze Werte haben möchte.

          Wenn du schon C++ verwendest, solltest du vielleicht eher

          std::cout << static_cast<int>(x) % static_cast<int>(y) << std::endl;

          schreiben. Wegen der Quadratwurzel:

          jo, werde ich machen, sieht auch hübscher aus.

          std::cout << sqrt(x) << std::endl;

          bzw. fuer die y-te Wurzel aus x:

          std::cout << pow(x,1/y) << std::endl;

          Das kann man schreiben, weil die y-te Wurze aus x dasselbe ist wie
          x^(1/y).

          Mama mia...  :-o

          ok. Ich glaube das wird reichen für die Hausaufgabe. mehr haben wir ja in der Schule noch gar nicht gemacht.

          Vielen Dank euch beiden

          S.K.