while(cin>>var)befehl;

Hi Leute,
ich hab in codebeispielen schon oefter schleifen der form:
while(cin>>d) v.push_back(d); (z.B.)
gesehen.
Mein Problem ist: Wie verlasse ich die Schleife?
ich hoffe ihr koennt mir helfen
mfg
Nornagest
 
die Schleife wird verlassen sobald die Bedingung darin wahr ist! d.h wenn deine schleife die zahlen 1-10 hochzählt und aufhört sobald er bei zehn angekommen ist so unterbricht die Schleif sobald die variable (bei dir "d") 10 ist. du kannst sie alledings auch während die Schleife läuft auf zehn setzen durch eine Funktion oder was auch immer und damit die schleife vorzeitig beenden! Das kannst du nun auf alle anderen schleifen anwenden...und whooops da ist die Schleife gebrochen!
 
etwas grundwissen uebers programmieren habe ich auch ;)
es ging um die spezielle scleife, auszerdem wird die schleife verlassen, sobald die bedingung nicht mehrer fuellt ist (deshalb while == solange)

ich habs chon eine antwort bekommen, aber danke fuer den versuch

es genuegt ein eof zu senden evtl mit CRTL^D oder CRTL^Z
 
Eine Schleife verlässt man eigentlich mit dem Befehl break;, wenn man sie vorzeitig verlassen möchte.
 
@peter
das stimmt, aber im beispiel is kein break und irgendwie muss man die abbruch bedingung ja erfuellen koennen (STRG^D oder STRG^Z funzt doch nich)
 
das liegt wohl daran, dass der operator ">>" einen versteckten rückgabewert hat. (z.B. das Zeichen, dass er als letztes einließt) wenn der dann 0 ist, wird die schleife beendet.
 
so dachte ich mir das auch @ blueflash, abaer die frage ist, wie mach ich das?
mit alt+0 (direkt ascii wert 0) funzt es auch nich ...
wenn einer von euch also noch ne idee hat ...
 
wenn ich mal zu viel zeit hab werd ich evtl ma alle zeichen durchprobieren, aber das is irgendwie etwas aufwaendig ... naja ich werds den rechner irgendwie machen lassen...

sinnlos is das beispiel nich, denn ich hab das schon oefter gesehn und vor allem in beispielen von bjarne stroustrup (dem erfinder von c++) ...
 
hab die antwort gefunden, unter win funzt es wegen einem fehler nich

The program ends reading input when it sees "end of file". If you run the program from the keybord on a Unix machine "end of file" is Ctrl-D. If you are on a Windows machine that because of a bug doesn't recognize an end-of-file character
 
Zurück
Oben