Mittelwertberechnung
-
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
