Exponent einer Potenzzahl bestimmen
-
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.
-
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.
-
I know ... hab es so aber lieber ... sorry ist Gewohnheitssache ^^
-
So wollte das gerade umbauen, verstehe allerdings nicht ganz warum der Code unbedingt funktionieren muss. Sind zwei Zeilen im Eingabepuffer und wird wait() ausgeführt, schließt sich die Konsole wieder automatisch.
Warum soll das schon, die derzeit in der FAQ vorgestellte Variante aber nicht funktionieren?
MfG SideWinder
-
SideWinder schrieb:
So wollte das gerade umbauen, verstehe allerdings nicht ganz warum der Code unbedingt funktionieren muss. Sind zwei Zeilen im Eingabepuffer und wird wait() ausgeführt, schließt sich die Konsole wieder automatisch.
Warum soll das schon, die derzeit in der FAQ vorgestellte Variante aber nicht funktionieren?
MfG SideWinder
Ist das auf mich bezogen ? Wenn ja wieso schreibst du nicht in diesen Thread weiter wo wir aufgehört hatten
: http://c-plusplus.net/forum/viewtopic-var-t-is-183666.html
-
KasF schrieb:
Checker&Murckser schrieb:
std::cin.ignore(std::cin.rdbuf()->in_avail());
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.ignore ( std::numeric_limits<std::streamsize>::max(), '\n');
Ah … sollten die Codes nicht eigentlich dasselbe machen? Oder gibt es Implementierungen, in denen 'in_avail' das falsche Resultat liefert?
-
Konrad Rudolph schrieb:
Oder gibt es Implementierungen, in denen 'in_avail' das falsche Resultat liefert?
Das ist der Fall!