Exponent einer Potenzzahl bestimmen



  • 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!
    }
    


  • Summernoon schrieb:

    In dem Programm wird nicht auf einen Buchstaben gewartet.

    ?!? Automatisches Schliessen verhindern ?!?



  • Summernoon schrieb:

    // getch(); das ist Windows-Müll

    das heisst ja auch getchar() oder getc(stdin) 😉
    OP: nächstes mal stellste solche fragen im ansi-C forum, da hätteste keine 4 seiten gebraucht 😉



  • Wartet leider immernoch nicht auf eine Taste.

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


  • ersetz mal dein einzelnes getchar() durch:

    while (getchar() != '\n'); // reste im inputbuffer entfernen
    getchar();                 // auf taste warten
    

    🙂



  • danke ! geht wunderbar! ist das mit dem inputbuffer leeren optimal ?



  • wo sind wir denn hier gelandet 😉

    int main() {
    
    // blabla
    
      std::cin.clear();
      std::cin.ignore(std::cin.rdbuf()->in_avail());
      std::cin.get();
      return 0;
    }
    


  • Checker&Murckser schrieb:

    int main() {
    
    // blabla
    
      std::cin.clear();
      std::cin.ignore(std::cin.rdbuf()->in_avail());
      std::cin.get();
      return 0;
    }
    

    Naja, diesen Code habe ich nie sonderlich gemocht. Bei vielen Leuten tut der Code nicht das was er tun soll.

    Die bessere Alternative ist die hier:

    cin.clear();
    cin.ignore ( std::numeric_limits<std::streamsize>::max(), '\n');
    cin.get();
    

    Habe ich auch schon desöfteren hier gesehen.
    Darf ich eigentlich jetzt einfach in die betroffene FAQ anworten/reinschreiben 🙂 ?


Anmelden zum Antworten