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.
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.
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 ?
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...
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.
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 ...
LeeHarvey Geschrieben 13. August 2012 Autor Geschrieben 13. August 2012 ok danke leute, werde dran arbeiten.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden