Exponent einer Potenzzahl bestimmen



  • Öhm und den müll nehmen wir mal wieder raus...

    #include <iostream>
    #include <cmath>
    
    int main()
    {
        std::cout << "Exponent: " << std::flush;
        double exp = 0.0;
        std::cin >> exp;
        std::cout << std::pow(6, exp) << std::endl;
    }
    

    ...



  • #include <iostream>
    #include "conio.h"
    #include <cmath> 
    using namespace std;
    
    int main()  {
    	cout<<"zahl:" << endl;
    	int zahl;
    	cin >> zahl;
    
    	cout<<"exponent:" << endl;
    	int exp;
    	cin >> exp;
    
    	cout << pow(zahl, exp) <<endl;
    
    getch();
    return 1;
    
    }
    

    habe ein problem mit "pow"
    "mehrdeutiger aufruf einer überladenen Funktion"

    danke schon mal für den ansatz



  • Würde sagen conio.h macht da Ärger.



  • =lösung ?



  • Schmeiss raus ->
    // #include "conio.h"



  • und das ist auch einer der Gründe nicht "using namespace std;" zu nutzen ... dann treten solche Fehler nicht auf.

    Aja ... "zahl" und "exp" sollten double's sein und dann sollten die mit 0.0 initialisiert werden.



  • "using namespace std;" darf nie zu Uneindeutigkeiten führen.
    Das Problem ist dass pow mit ints nix anfangen kann. Da es aber einen Overload für float und einen für double gibt kann der Compiler nicht wissen welche Version gemeint ist.

    @OP: Nein, das geht üblicherweise nur für ² und ³ da es sonst keine hochgestellten Ziffern in "üblichen" Codepages gibt. Mit UNICODE müsste es fast gehen, bin mir aber auch nicht 100% sicher.
    Und du solltest lernen dich etwas genauer auszudrücken!



  • hustbaer schrieb:

    ... kann der Compiler nicht wissen welche Version gemeint ist.

    Mein Compiler weiss das und meckert nicht einmal.



  • ich sollte lernen euch zuverstehen ^^

    #include <iostream>
    
    #include <cmath> 
    
    int main()  {
    	std::cout<<"zahl:" << std::endl;
    	double zahl = 0.0;
    	std::cin >> zahl;
    
    	std::cout<<"exponent:" << std::endl;
    	double exp = 0.0;
    	std::cin >> exp;
    
    	std::cout << pow(zahl, exp) << std::endl;
    
    	getch();
    return 1;
    
    }
    

    GEHT nicht.

    ach und dabei is auch noch nen fehler."Kein Bezeichner für 'getch'."



  • Jo ... kann es sein das du da einiges nicht verstehst?

    #include <iostream>
    #include <cmath> // Funktionen aus math.h im std namespace.
    
    int main()  
    {
        std::cout << "Zahl: " << std::flush; // std::endl; ist hier falsch, da du damit auch direkt ein Newline in den Stream packst.
        double zahl = 0.0; // sollte mit einem Standardwert initialisiert werden, um bei falscher Eingabe keinen Fehler zu bekommen
        std::cin >> zahl;
    
        std::cout << "Exponent:" << std::flush; // std::endl; s.o.
        double exp = 0.0; // s.o.
        std::cin >> exp;
    
        std::cout << std::pow(zahl, exp) << std::endl; // pow liegt im namespace std. ... cmath!
    
        std::cin.get();
        // getch(); das ist Windows-Müll
        // return 1; Warum? Ist ein Fehler aufgetreten? Muss wenn dann 0 zurückgeben. Bei main aber nicht notwendig!
    }
    

    ...



  • danke funzt alles soweit bis auf das auf keinen buchstaben gewartet wird bzw. eine eingabe.



  • Geht nicht UND auch noch nen Fehler ? Kaum zu glauben !

    Vielleicht so?

    #include "Beine.h";
    


  • Summernoon schrieb:

    danke funzt alles soweit bis auf das auf keinen buchstaben gewartet wird bzw. eine eingabe.

    AAaaah supi, na dann:

    // #include "Beine.h";
    

    🙂



  • Datei(include)kann nicht geöffnet werden:"Beine.h" no such file or dictory



  • Ok, lass weg, war nur ein kleiner Scherz 😉 🙂



  • wie wärs dann mal mit was sinnvollem ?
    witze kannst behalten.



  • Summernoon schrieb:

    wie wärs dann mal mit was sinnvollem ?
    witze kannst behalten.

    Ähhhhh seit 3 Seiten beschäftigst Du einen Haufen Experten (die nichts davon haben) mit kruden Beschreibungen und geballter Lernresistenz und nun zeigst DU Dich ungeduldig ??

    Starke Strategie !

    Gruß,

    Simon2.



  • ich habs hier reingeschrieben damit mir jemand hilft.witze brauch ich net und wenn du hier nur sowas schreiben willst ist das vollig unnötig



  • wenn du keine witze ernten willst, dann lern dich genauer auszudrücken, und sinnvolle (und vor allem verständliche) problembeschreibungen zu schreiben.



  • In dem Programm wird nicht auf einen Buchstaben gewartet.

    #include <iostream>
    #include <cmath> // Funktionen aus math.h im std namespace.
    
    int main()  
    {
        std::cout << "Zahl: " << std::flush; // std::endl; ist hier falsch, da du damit auch direkt ein Newline in den Stream packst.
        double zahl = 0.0; // sollte mit einem Standardwert initialisiert werden, um bei falscher Eingabe keinen Fehler zu bekommen
        std::cin >> zahl;
    
        std::cout << "Exponent:" << std::flush; // std::endl; s.o.
        double exp = 0.0; // s.o.
        std::cin >> exp;
    
        std::cout << std::pow(zahl, exp) << std::endl; // pow liegt im namespace std. ... cmath!
    
        std::cin.get();
        // getch(); das ist Windows-Müll
        // return 1; Warum? Ist ein Fehler aufgetreten? Muss wenn dann 0 zurückgeben. Bei main aber nicht notwendig!
    }
    

Anmelden zum Antworten