LeeHarvey Geschrieben 13. August 2012 Geschrieben 13. August 2012 Guten Mittag ! Aufgabe: Nach Eingabe von Start- und Endzeit, den Ablauf dieser Zeit ausgeben. Küchenuhr im Prinzip. 1. Frage: Wie zerschneide ich die Eingabe des Users (Format ss:mm:seksek) um Stunden und Minuten in Sekunden umzuwandeln um lediglich mit Sekunden zu rechnen. Per "strlen" iwie oder ? 2. Frage: Befehl um die Zeit (im Sekunden-, Stunden- bzw. Minutenformat, untereinander) ablaufen zu lassen, im Terminal ? Danke ! Ausgabe: Ihre eingegebene Zeit betrug insgesamt ss:mm:seksek und dauert noch ss:mm:seksek, mmmm:seksek, seksekseksek. Zitieren
Shadak Geschrieben 13. August 2012 Geschrieben 13. August 2012 okay...ich versteh die aufgabe nicht ganz. was soll das programm machen? nen timer darstellen x sekundne bis? zeiteingabe kannst du am einfachsten als integer abfragen (format hhmmss) und dann via modulo aufbrechen und wie multiplikation und summation zusammen rechnen. Zitieren
LeeHarvey Geschrieben 13. August 2012 Autor Geschrieben 13. August 2012 Ja, Timer. Zeitschaltuhr, Küchenuhr eben. Start- und Endzeit eingeben und ablaufen lassen. hhmmss geht nicht da die eingabe benutzerfreundlich, also hh:mm:ss lauten soll bzw nur mm:ss. wie schneidet man die ":" raus um mit mm und ss zu rechnen ? Zitieren
Shadak Geschrieben 13. August 2012 Geschrieben 13. August 2012 kay, benutzerfreundlich ist ansichtssache...^^ alternative: chararry ( eingabe[8] ) die eingabe reinschreiben. wenn es nur maximal 99 Stunden sind reichen die 8 zeichen. dann kannst du ja, da du ja weisst welche stelle s, m und h ist die entsprechende stelle auslesen, zusammen rechnen, umrechnen, zusammenrechnen lassen auf sekunden. nen ablauftimer hab ich aber selber auch noch net gebastelt... Zitieren
Guybrush Threepwood Geschrieben 13. August 2012 Geschrieben 13. August 2012 Am besten liest du die Benutzereingabe in einen std::string ein und dann musst du dir einen Parser dafür basteln der prüft ob die Eingabe überhaupt korrekt ist und die für dich wichtigen Informationen da rausholt. find und substr helfen dir dabei zum Beispiel, genaueres dazu findest du in der Doku zu std:string. Um dann die Zeit runterlaufen zu lassen wäre für die Übung das Einfachste einfach eine Schleife laufen zu lassen welche bei jedem Schritt eine Sekunde mit sleep pausiert. Ansonsten müsstest du dir Gedanken um einen Timer (z.B. boost::timer) machen. Zitieren
GrEnE Geschrieben 13. August 2012 Geschrieben 13. August 2012 Für das Parsen (und festen Format) kann ich auch die Standard Input Streams (z.B. std::istringstream) empfehlen. Exemplarisch: std::string input; std::istringstream iss( input ); int num = 0; char delim; iss >> std::ws >> num; iss >> delim; [/PHP] Zwischendurch vielleicht noch den Stream und die Daten überprüfen ... Zitieren
LeeHarvey Geschrieben 13. August 2012 Autor Geschrieben 13. August 2012 ok danke leute, werde dran arbeiten. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.