Mittelwertberechnung
-
Vielleicht soll er das, geschrieben hast du es aber nicht in deinem Code. Das ist nunmal eine Endlosschleife, es gibt weder im Kopf eine Abbruchbedingung, noch ein break im Schleifenkörper.
Gruß
Don06
-
Oder besser gesagt. Das hier war eine Klausuraufgabe. Die ist soweit schon verbessert worden von mir. Aber das mit dem true. Also mit diesem hochzählen bis er die Null sieht. Da stimmt noch was nicht. Weiß aber nicht was man da verbessern sollte bzw. ich kanns nicht.
Thx Thorsten
-
also ich würde ja eine andere schleife nehmen... do-while am besten.
-
Wenn ich nichts übersehen habe, sollte dies eine Problemlösung sein. Abbruch aus der Endlosschleife erfolgt mit "break".
#include <iostream> using namespace std; void mittelwert() { int summe(0), counter(0); for (;;) { cout << "Geben Sie eine Zahl ein: "; int zahl(0); cin >> zahl; if (0 == zahl) break; summe += zahl; ++counter; } cout << "Mittelwert ist: " << summe/counter << endl; } int main() { cout << "Willkommen zur Mittelwertberechnung von positiven "; cout << "ganzen Zahlen!" << endl; cout << "Bei Eingabe von 0 wird das Programm beendet!" << endl; mittelwert(); }
-
Viel Dank.
Thorsten
-
oder wenn die bedingung erfüllet is
-
Naja continue heißt halt nicht break, das ist dein Hauptfehler ...
#include <iostream> void run(); int main() { cout << "Willkommen zur Mittelwertberechnung von positiven " << "ganzen Zahlen!\n" << "Bei Eingabe von 0 wird das Programm beendet!" << std::endl; run(); } void run() { unsigned long sum(0L); unsigned int count(0); for (unsigned int number(0); number != 0; ++count) { std::cout << "Zahl: "; std::cin >> number; sum += number; } std::cout << "Der Mittelwert ist: " << static_cast<double>(sum) / count << std::endl; }
so hast du deine Abbruchbedingung da auch drin ...
-
continue ist dafür da, damit sich die schleife wiederholt.
-
Mit continue wird nichts wiederholt
sondern fortgefahren. Sonst hätte das ja wenig Sinn 
-
hat er doch gesagt ..
-
Hmm ...
http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Companion/cxx_crib/continue.html
http://msdn2.microsoft.com/en-us/library/6e3dc2z3(VS.80).aspx
usw. also ist nicht so schwer rauszufinden, was continue wirklich macht ...
wobei @"devil korrifierer" ... wo hab ich denn geschrieben, was continue macht? Hab nur gesagt, dass es nicht das selbe verhalten wie break hat und das statement verlässt.
-
hast schnell wegeditiert, nachdem dein vorposter die lösung geschrieben hat und alles geklärt hat
