Exponent einer Potenzzahl bestimmen



  • 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 🙂 ?



  • KasF schrieb:

    Darf ich eigentlich jetzt einfach in die betroffene FAQ anworten/reinschreiben 🙂 ?

    Wohl eher nicht: 😉

    <a href= schrieb:

    http://www.c-plusplus.net/forum/viewforum-var-f-is-20.html (rechts unten)">Sie können keine Beiträge in dieses Forum schreiben.
    Sie können auf Beiträge in diesem Forum nicht antworten.
    Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
    Sie können Ihre Beiträge in diesem Forum nicht löschen.
    Sie können an Umfragen in diesem Forum mitmachen.



  • nur mal so am rande:

    (D)Evil schrieb:

    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;
        std::cin >> zahl;
    

    ...

    hier braucht man kein std::flush weil cin und cout getied sind. vor jedem cin wird automatisch cout geflushed.


Anmelden zum Antworten