So versuche ich eine Zeitfunktion zu machen, die herunter zählt. Es basiert auf etwas, das ich hier gesehen habe. Die Variablen sind von einer anderen Funktion gegeben. Wenn die Zeit abgelaufen ist, wird das variable Finish auf 1 gesetzt und es verlässt die Funktion. Diese Funktion funktioniert manchmal und manchmal funktioniert es nicht, zum Beispiel, wenn ich es eine Eingabe von 11sec geben, funktioniert es gut, aber wenn ich es 1:00 min geben, funktioniert es nicht. Kann mir jemand sagen, was mit dem Code nicht stimmt?Zeit funktioniert manchmal manchmal nicht
if (time1 == 0 && time2 == 0 && time3 == 0 && time4 == 0)
//if all the time is 0 finish the sequence
finish = 1;
if (time1 != 0) //Checking to see if the first digit is NOT at 0
time1 = time1 - 1; // subtract time 1 by 1
else {
time2 = time2 - 1; //When time1 is 0
time1 = 9;
} //Time1 going back to it's original value
if (time2 == 0 && time1 == 0) { //if time1 and time2 are 0s
if (time3 != 0) { //The minute value (time3)
time2 = 5; //60 SECONDS
time3 = time3 - 1;
time1 = 9;
}
} //Put time 1 to its original value
if (time2 <= 0 && time1 <= 0 && time3 <= 0) {
if (time4 != 0) { //The minute value (time3)
time2 = 5; //60 SECONDS
time3 = 9;
time4 = time4 - 1;
time1 = 9;
}
} //Put time 1 to its original value
time4 = 3, Time3 = 2, Time2 = 1, Zeit 1 = 0. Dies bedeutet, dass die Zeit bei 32:10 min
Wow, das ist ziemlich schwer zu lesen:
Dies kann mit einem Nest von conditionals erfolgen o ein WTF Codierung Stil Ist es das? – Boiethios
Ich programmiere in normalen C, wirklich grundlegende Logik –
Ich spreche über Ihre Code-Formatierung. Wählen Sie einen Formatierungsstil (z. B. https://www.kernel.org/doc/Documentation/CodingStyle); Ihr Code wird viel besser lesbar sein. Hier scheint es, dass Ihre Einrückung zufällig ist. – Boiethios