For Schleife bitte um Hilfe
-
Hier mal eine C++11 (14?) Lösung.
Einfacher geht es nicht, die Denkarbeit (das Umrechnen) macht die coole chrono-lib#include<chrono> #include<iostream> #include<thread> using namespace std; int main() { constexpr chrono::seconds dauer = 120s; for( auto i = dauer; i >= 0s; i-- ) { chrono::minutes m = chrono::duration_cast<chrono::minutes>( i ); chrono::seconds s = i - m; cout << "TIMER: " << m.count() << ':' << s.count() << endl; std::this_thread::sleep_for( 1s ); } }Mfg
-
Leprechaun schrieb:
Ist nur ne Demo mit der der OP rumfrickeln kann.
Wichtig ist das Verständnis.Ach sorry. Hab dich für den TO gehalten...
shft schrieb:
Hier mal eine C++11 (14?) Lösung.
C++14, da kamen die Literals erst dazu. Außerdem fehlt noch ein
using namespace std::chrono_literals;.
-
sebi707 schrieb:
Außerdem fehlt noch ein
using namespace std::chrono_literals;.OK fehlt doch nicht dank inline Namespaces...
-
Wenns nur 1ne For Schleife ist kann sie mir einer zeigen ? Da ich keinerlei Ideene dazu habe und meine verusche immer fehlschlagen ...
Wenns nur eine ist ?
Eine Schleife kann ich machen aber dann zählt es ja die sekunden runter aber wie sage ich der for schleife dass sie die Minute um 1 veringern soll wenn die sekunde bei 0 ist ? und wie sage ich der Schleife dass wenn die Minute verringert wurde und die Sekunde auf 00 war dass sie wieder bei 59 anfangen soll für die nächste minute ?
das sind fragen die ich mir nicht beantworten kann.
mfg

-
Lesen zu können ist oft recht hilfreich.
SeppJ und spätestens DirkB haben doch schon alles gesagt.
Das war schon fast spoonfeeding (fällt mir auf Deutsch jetzt keine vernünftige Übersetzung ein).EDIT:
Und vergiß Leprechauns Vorschlag. Nicht gut.
Angefangen mit einer nicht initialisierten globalen Variable, usw. usf.
-
zantes schrieb:
und wie sage ich der Schleife dass wenn die Minute verringert wurde und die Sekunde auf 00 war dass sie wieder bei 59 anfangen soll für die nächste minute ?
Hättest du weniger Probleme, wenn du Zentimeter zählst und Meter ausgeben sollst?
EOP schrieb:
... mit einer nicht initialisierten globalen Variable
wie soll das denn gehen?
Nur weil er den Wert nicht hinschreibt?
-
Irgendwie fuhlfüich mich ignoriert...
-
EOP schrieb:
Und vergiß Leprechauns Vorschlag. Nicht gut.
Angefangen mit einer nicht initialisierten globalen Variable, usw. usf.Das ist, wie gesagt, bloß ein Beispiel. Man betrachte es als Pseudocode.
Werden globale Variablen nicht automatisch auf 0 gesetzt, oder ist das nur bei Java so?
-
Leprechaun schrieb:
Werden globale Variablen nicht automatisch auf 0 gesetzt, oder ist das nur bei Java so?
Ne ist auch in C++ so. Allerdings sind da wie gesagt noch andere Macken drin. Erstmal ist printf C und kein C++. Und ich hätte SEC nicht doppelt benutzt sondern noch eine Variable (defines sind auch so C mäßig) für Minuten eingeführt. Dann wäre dir wohl auch nicht der Fehler unterlaufen, dass bei dir eine Stunde 24 Minuten hat. So sieht es etwas moderner aus:
const int SEC = 60; const int MIN = 60; const int HOUR = 24; //... cout << "days: " << cnt/SEC/MIN/HOUR << " hour: " << (cnt/SEC/MIN)%HOUR << " min: " << (cnt/SEC)%MIN << " sec: " << cnt%SEC << endl;
-
sebi707 schrieb:
Erstmal ist printf C und kein C++.
Weiß ich, aber mein Compiler zumindest frisst beides. Außerdem finde ich persönlich printf einfach schöner als cout.
-
Leprechaun schrieb:
sebi707 schrieb:
Erstmal ist printf C und kein C++.
Weiß ich, aber mein Compiler zumindest frisst beides.
Was falsch ist. In C++ ist der Header <cstdio> und printf ist in namespace std.
Desweiteren sollten, wie angemerkt, die Makros durch Konstanten ersetzt werden, und das Design mit der globalen Variable ist auch nicht gerade schön.
Und void main() ist falsch, der return type ist int. Alles andere ist falsch, aktivier mal Compiler Warnungen, dann sagt er dir das auch.
-
Nathan schrieb:
Was falsch ist.
Egal, tut aber das Gewünschte. Das reicht mir.
-
Leprechaun schrieb:
Nathan schrieb:
Was falsch ist.
Egal, tut aber das Gewünschte. Das reicht mir.
Das mag dir reichen, aber es ist ein schlechtes Vorbild für Anfänger.
-
SeppJ schrieb:
Leprechaun schrieb:
Nathan schrieb:
Was falsch ist.
Egal, tut aber das Gewünschte. Das reicht mir.
Das mag dir reichen, aber es ist ein schlechtes Vorbild für Anfänger.
Da hast du natürlich Recht.
-
SeppJ schrieb:
]Das mag dir reichen, aber es ist ein schlechtes Vorbild für Anfänger.
Ist mir natürlich klar, daß mein code auch nicht von allen Leuten gemocht wird.
Ist mir aber ziemlich egal - meine Antworten sind immer situationsbezogen.
-
EOP schrieb:
SeppJ schrieb:
]Das mag dir reichen, aber es ist ein schlechtes Vorbild für Anfänger.
Ist mir natürlich klar, daß mein code auch nicht von allen Leuten gemocht wird.
Ist mir aber ziemlich egal - meine Antworten sind immer situationsbezogen.Sehe ich auch so. Denkanstöße zu geben, finde ich besser als Komplettlösungen zu liefern.
