Spielerei mit Modulo
-
Wie sieht es aus keiner eine Ahnung??
-
Keiner hat Bock, einem Anfänger was zu erklären, was er durch eine einfache Google-Suche auch selbst rausfinden könnte.
Suche nach
cin bad stateundcin clear input buffer.
-
Hätte man auch freundlich sagen können.
-
Ich war freundlich; ich habe mir die Mühe gemacht, auf deinen vollkommen redundanten Thread zu antworten, und dabei wahrscheinlich nur meine Lebenszeit verschwendet. Wenn das nicht freundlich ist, hast du eine extrem merkwürdige Definition von "freundlich".
-
Wieso sollte ich annehmen das der Fehler in der Cout Funktion liegt.
" Keiner hat Bock" ist nicht freundlich...
War davon ausgegangen das ein Forum den Meinugsaustausch und der gegenseitigen Hilfe dienen soll.
Anscheinend sind hier Anfänger unerwünscht.
-
Mikelle schrieb:
Wieso sollte ich annehmen das der Fehler in der Cout Funktion liegt.
Du hast nicht mal ordentlich gesucht/meinen Post nicht verstanden. Bestätigt meinen letzten, dass es verschwendete Lebenszeit war.
Und den Fehler hättest du mit ein bisschen nachdenken (wo taucht der Fehler auf, wann taucht er auf, wann taucht er nicht auf) ganz alleine rausfinden können.
Mikelle schrieb:
" Keiner hat Bock" ist nicht freundlich...
"Keiner hat Bock" ist umgangssprachlich und dir gegenüber vollkommen neutral, und das "Anfänger" bezieht sich auf deinen Wissensstand. Wenn du echte Kritik hast und nicht nur ein über eine eingebildete Egoverletzung debattieren willst, ist jetzt der Zeitpunkt gekommen. Ansonsten ist dieses Gespräch für mich jetzt beendet.
Mikelle schrieb:
War davon ausgegangen das ein Forum den Meinugsaustausch und der gegenseitigen Hilfe dienen soll.
Was hast du an Meinung und Hilfe anzubieten? Wenn du bereits so eine Frage stellst, bist du nur ein Wissensschmarotzer, der sich nicht die Mühe machen will, kostenlose Suchmaschinen zu verwenden, und darauf hofft, dass andere ihm die Arbeit abnehmen. Und denk' nur, wenn du das von Anfang an gemacht hättest, hättest du deine Antwort sofort erhalten und 'ne Menge Zeit auf allen Seiten gespart.
Und wenn es dir nicht gefällt, dass dir dann Leute die Wahrheit sagen, dann bist du hier definitiv falsch. Ein schönes Leben noch.
-
Also das geht ja gar nicht.
Ich hatte im Eingangsbeitrag geschrieben das ich die Funktion mit verschiedenen Werten getestet habe.
Kamm zu den Ergebniss das die Variable überläuft.
Konnte nicht nachvollziehen warum die Funktion permanent durchläuft, anstatt ein falsches Ergebniss zu liefern und abzubrechen.
Habe meinen Eindruck geschieldert und gefragt ob jemand eine Erklärung hätte.Und dann kommst du und kotzt mir vor die Füße.
-
Mikelle schrieb:
War davon ausgegangen das ein Forum den Meinugsaustausch und der gegenseitigen Hilfe dienen soll.
Stell dir vor, jemand beschäftigt sich 20 Jahre länger und viel intensiver mit der Thematik als du. Die meisten hier machen das hauptberuflich. Man kommt müde und genervt nach Hause und will vielleicht mal über interessante Problemstellungen diskutieren. Wenn man nebenbei mal schnell eine Anfängerfrage beantworten kann, ok. Aber so gut wie niemand schaut hier mit der Intention rein, Anfängerfragen zu beantworten.
-
Danke das ist mir bewusst.
Für mich ist das von mir beschriebene Programmverhalten neu und "unerklärlich"
Was mich aufgeregt hat war halt die Art der Antwort.Damit ist alles gesagt...
-
Man sollte immer alle Einleseoperationen prüfen, könnte man wiefolgt lösen:
#include <iostream> #include <limits> using namespace std; int main() { for (int Zahl = 1; Zahl >= 0; ) { cout <<"Bitte Zahl eingeben:"; if (cin >> Zahl) // Einlesen war erfolgreich cout << Zahl << " % 10 = " << Zahl % 10 << '\n'; else { // cin "zurücksetzten" // und verbleibende Zeichen im Puffer ignorieren bis zum nächsten '\n' // sozusagen ein sauberer Neuanfang // am besten in der C++ Ref nachschauen cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "Fehler bei der Eingabe\n"; } } return 0; }Ich finde auch, dass man immer erstmal versuchen sollte Dinge zu googlen.
Es sei aber auch gesagt, dass dies jetzt nicht so trivial ist. Es ist einem Anfänger, der nicht von einem guten Buch lernt, auf keinste Weise klar, dass streams flags haben und dass das Einlesen hier fehlschlägt und somit auch alle weiteren Operationen auf cin, somit werden diese "übersprungen"/failen wieder und das Programm rennt immer weiter, weil
Zahlweiterhin positiv bleibt.Ich habs sogar selber erst nicht geblickt, wusste nicht dass cin overflows erkennt
Ich habe also sogar dazugelernt, durch diesen Post.LG und schönen Abend noch