C++ :: Aufgabe #49 :: Lösung #1
1 Lösung

#49
Stoppuhr mit Rundenzeiten
Anfänger - C++
von Dome
- 10.03.2013 um 23:36 Uhr
Erstellen Sie ein Programm, womit man die Zeit stoppen kann. Die Stoppuhr sollte mit einer beliebigen Taste anfangen die Zeit zu starten und danach mit einer beliebigen Taste eine weitere Runde einzuleiten. Die Stoppuhr sollte mit dem Druck auf ESC beendet werden.
#1

von mraimbot (590 Punkte)
- 22.08.2019 um 11:34 Uhr
Konsolenausgabe:
Stoppuhr
[ESC] Anwendung beenden bzw. Stoppuhr anhalten
[Beliebige Taste] Stoppuhr bzw. neue Runde starten
Stoppuhr gestartet ...
Rundenzeit: 2.75653s
Rundenzeit: 3.40809s
Rundenzeit: 0.255874s
Rundenzeit: 0.744664s
Stoppuhr angehalten
Gesamtzeit: 7.16516s

/////////////////////////////////////////////////////////////// /// Titel: Stoppuhr mit Rundenzeiten /// Beschreibung: https://trainyourprogrammer.de - C++ - #49 /// Programmierer: Sebastian Schröder /// Datum: 22.08.2019 /////////////////////////////////////////////////////////////// #include <conio.h> // _getch() #include <chrono> #include <iostream> enum Keys { ESC = 27 }; static int user_input; void timer(void); int main(void) { std::cout << "Stoppuhr\n" << "[ESC] Anwendung beenden bzw. Stoppuhr anhalten\n" << "[Beliebige Taste] Stoppuhr bzw. neue Runde starten" << std::endl; user_input = _getch(); while (user_input != Keys::ESC) { timer(); user_input = _getch(); } } void timer(void) { std::chrono::time_point<std::chrono::system_clock> start; std::chrono::time_point<std::chrono::system_clock> end; std::chrono::duration<double> elapsed_seconds; double total_time = 0.0; std::cout << "Stoppuhr gestartet ..." << std::endl; start = std::chrono::system_clock::now(); do { user_input = _getch(); end = std::chrono::system_clock::now(); elapsed_seconds = end - start; start = end; std::cout << "Rundenzeit: " << elapsed_seconds.count() << 's' << std::endl; total_time += elapsed_seconds.count(); } while (user_input != Keys::ESC); std::cout << "Stoppuhr angehalten\n" << "Gesamtzeit: " << total_time << "s\n" << std::endl; }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1