hier müsste er aus der while-Schleife hinausspringen falls er 8 sekunden lang die Bedingung nicht erfüllen kann, oder falls er unter 8 sekunden die Bedingung erfüllen kann.
Aber nach 8 Sek macht er nicht weiter sondern immer unterschiedlich, von 6 bis 20 sekunden.
Wieso ist das so ?
Sehe keinen Denkfehler.
lg
Hm, bei mir läuft der Code durch.
Hab ihn zwar etwas geändert, aber das Prinzip blieb von dir erhalten.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
bool weiter = false;
int currentTime = 0;
int timeUntilRefresh = 8000;
while( !weiter)
{
if(currentTime >= timeUntilRefresh)
{
weiter = true;
break;
}
currentTime += 10;
printf("%i\n",currentTime);
Sleep(10);
}
|
Bei mir in der Ausgabe ist 8000 die letzte Zahl.
Ich denke der Ansatz ist richtig, hier ein paar Verbesserungsvorschläge:
1. die Abfrage (if...) ans Ende der Schleife setzen, sonst läuft er nochmal durch
2. && 1 ist unnötig, ist ja immer wahr
Läuft der Code bei dir immer noch nicht? Vll. liegts ja auch an was andrem? Wie gibts du currentTime aus / kontrollierst es?
mfg MM