LeeHarvey Geschrieben 13. August 2012 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadak Geschrieben 13. August 2012 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
LeeHarvey Geschrieben 13. August 2012 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadak Geschrieben 13. August 2012 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 13. August 2012 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
GrEnE Geschrieben 13. August 2012 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
LeeHarvey Geschrieben 13. August 2012 Autor Teilen Geschrieben 13. August 2012 ok danke leute, werde dran arbeiten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.