Programm ignoriert schleife

ich habe ein programm geschrieben das eine zahl abfragt und mit diesem wert dann arbeiten soll. so weit so normal, es ist jetzt auch völlig irrellevant was das ziel dieses programmes ist, denn es läuft schlicht und einfach nicht vollständig. es wird ohne fehlermeldung oder warnung oder sonstwas kompiliert, fragt dann den wert ab und ist dann auf einmal fertig ohne die darunter liegenden schleifen zu berücksichtigen. wenn ich mir die werte die auf den variablen „zahler“ und „nenner“ liegen ausgeben lasse spuckt er mir nach wie vor die werte aus mit denen diese variablen indiziert wurden, obwohl „groupSize“ sehr wohl angepasst wurden.
warum tut er das und wie kann ich den fehrler beheben?
hier erst mal der code:

#include \<iostream\>




using namespace std;




int main()




{




&nbsp;&nbsp;&nbsp; int groupSize = 0;




&nbsp;&nbsp;&nbsp; int nenner = 365;




&nbsp;&nbsp;&nbsp; int zahler = 1;




&nbsp;&nbsp;&nbsp; cout \<\< "gruppengroesse:" \<\< endl;




&nbsp;&nbsp;&nbsp; cin \>\> groupSize;




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int i=groupSize; i\<=1; i--)




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nenner=nenner\*(nenner-i);




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout\<\<nenner\<\<endl;




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int n=groupSize; n\<0; n--)




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zahler=zahler\*365;




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout\<\<zahler \<\< endl;




&nbsp;&nbsp;&nbsp; return 0;




}

mit bestem dank im voraus

sebastian

Wundert mich nicht, dass die Ignoriert werden. Deine Condition in den For-Schleifen trifft ja auch nicht zu.

Die erste schleife: for(int i=groupSize; i=1; i–)
Solange i>=1, arbeite.

Du scheinst die Forschleifen falsch verstanden zu haben. Die Condition muss erfüllt sein, sobald diese NICHTMEHR erfüllt wird, wird abgebrochen.

vielen dank. das war ja echt ein saublöder denkfehler. ich ärger mich gerade dass ich denn nicht gefunden habe. jetzt läuft es natürlich jetzt muss ich nur noch das was in den schleifen steht ricchtig biegen, aber ich denke das werde ich alleine schaffen (oobwohl, wie mann sieht: sag niemals nie… :-S).
auf jeden fall vielen dank für die antwort.

PS.: verstanden hab ich sie schon richtig, nur jedes mal über den fehler drüber gelesen oder einfach einen logikfehler im hirn gehabt…

Ich empfehle dir nen Debugger zu verwenden, damit findet du solche Fehler sehr schnell. Das sind die kleinen gemeinen Fehler, die man IMMER überliest und sich im nachhinein den Kopf an die Wand hauen möchte.

Hi ich hätte da was

Wie du bestimmt weist sind for und while schleifen nicht wirklich"unterschidelich"

for(i=0;i

Missverständlich

Wie du bestimmt weist sind for und while schleifen nicht
wirklich"unterschidelich"

Bis auf die Rechtschreibung passt das

for(i=0;ivor dem ersten Schleifendurchlauf getestet wird.

Eine do…while-Schleife wird in jedem Fall einmal durchlaufen.

Ciao, Allesquatsch

1 Like