Hallo SuSE-Gemeinde, ich suche ein Programm, womit man Zeiten (min:sec) addieren kann: in etwa so: 01:05 + 04:55 + 02:22 = 08:22 Vielen Dank -- asaf / mmuellerss \\:// asaf@gmx.net Mario Mueller (o -) mmuellerss@gmx.de Barbarastrasse 6 ---ooO-(_)-Ooo--- http://www.asaf.de 99752 Bleicherode | | KMail auf SuSE 9.2
Hallo! Am Montag, 13. Dezember 2004 11:28 schrieb Mario Mueller:
ich suche ein Programm, womit man Zeiten (min:sec) addieren kann: Das Programm ist doch viel schneller selbst geschrieben als gesucht, oder?
Hier was mir so in 2 min. eingefallen ist. Als kleiner Gedankenanstoß sollte das doch reiche, oder? #### code #### #include <iostream> using namespace std; int main() { int min1; int min2; int sek1; int sek2; int foo; int bar; cout <<"Bitte Minute 1 eingeben:"; cin >> min1; cout <<"Bitte Minute 2 eingeben:"; cin >> min2; cout <<"Bitte Sekunden 1 eingeben:"; cin >> sek1; cout <<"Bitte Sekungen 2 eingeben:"; cin >> sek2; foo = min1 + min2; bar = sek1 + sek2; if (bar > 59) { foo = foo +1; bar = bar -60; } cout << foo<<":"<< bar; return 0; } #### code #### Grüße Sebastian van de Meer -- -- -- Ich widerspreche der Nutzung oder übermittlung meiner Daten für Werbezwecke oder für die Markt- und Meinungsforschung (§ 28 Absatz 3+4 Bundesdatenschutzgesetz). VCard zum downloaden: http://www.kernel-error.de/kernel.vcf ##################################################### # GPG-INFO # # Finger-Print # # AC4E 5829 62C9 9CE6 F3D0 C209 6BB8 FE16 5CD6 50F3 # # Den oeffentlichen bekommt ihr unter: # # http://www.kernel-error.de/kernel-error-mobil.asc # #####################################################
Am Montag, 13. Dezember 2004 13:19 schrieb Sebastian van de Meer|Mobil:
Hallo!
Am Montag, 13. Dezember 2004 11:28 schrieb Mario Mueller:
ich suche ein Programm, womit man Zeiten (min:sec) addieren kann:
Das Programm ist doch viel schneller selbst geschrieben als gesucht, oder?
stimmt :) ------------------------8<----------------------------------- #! /bin/bash MIN=0 SEC=0 while [ -n "$1" ]; do : $(( MIN += ${1/:*/} )) : $(( SEC += ${1/*:/} )) shift done : $(( MIN = MIN + (SEC / 60) )) : $(( SEC = SEC % 60 )) echo "$MIN:$SEC" --------------------------8<--------------------------------- $ sh ./minute.sh 01:05 04:55 02:22 8:22 wenn das '+' und das '=' wichtig ist, einfach ncoh die while-Schleife modifizieren.
Hier was mir so in 2 min. eingefallen ist. Als kleiner Gedankenanstoß sollte das doch reiche, oder?
Du kannst nur 2 Zahlen addieren :) und der OP hatte von 3 gesprochen :) Andreas
Am Montag, 13. Dezember 2004 14:19 schrieb Andreas Loesch:
Am Montag, 13. Dezember 2004 13:19 schrieb Sebastian van de Meer|Mobil:
Hallo!
Hallo, vielen Dank.
Am Montag, 13. Dezember 2004 11:28 schrieb Mario Mueller:
ich suche ein Programm, womit man Zeiten (min:sec) addieren kann:
Das Programm ist doch viel schneller selbst geschrieben als gesucht, oder? stimmt :)
... wohl dem, der es kann ...
------------------------8<----------------------------------- #! /bin/bash
MIN=0 SEC=0
while [ -n "$1" ]; do
: $(( MIN += ${1/:*/} )) : $(( SEC += ${1/*:/} ))
shift done
: $(( MIN = MIN + (SEC / 60) )) : $(( SEC = SEC % 60 ))
echo "$MIN:$SEC" --------------------------8<---------------------------------
$ sh ./minute.sh 01:05 04:55 02:22 8:22
wenn das '+' und das '=' wichtig ist, einfach ncoh die while-Schleife modifizieren.
So ist's genau recht. Was ich damit machen will ? Ich habe mehrere mp3's von Titeln, die eigentlich ineinander übergehen ("Neal_Morse - Testimony"). Diese setze ich mit mpg123 in eine wav zusammen, bearbeite diese wav mit "GnuSound". Die Lücken, die dabei entstehen, sollen zusammen gesetzt werden, damit das Ganze wieder aus einem Guß erscheint. Danach zersäge ich das wav mit wavsplit, brenne es auf CD, alle Titel gehen ineinander über und trotzdem kann man sie einzeln anwählen.
Hier was mir so in 2 min. eingefallen ist. Als kleiner Gedankenanstoß sollte das doch reiche, oder?
Du kannst nur 2 Zahlen addieren :) und der OP hatte von 3 gesprochen :)
Andreas
Besten Dank an Alle -- asaf / mmuellerss \\:// asaf@gmx.net Mario Mueller (o -) mmuellerss@gmx.de Barbarastrasse 6 ---ooO-(_)-Ooo--- http://www.asaf.de 99752 Bleicherode | | KMail auf SuSE 9.2
Nabend zusammen! Am Montag, 13. Dezember 2004 14:19 schrieb Andreas Loesch:
Du kannst nur 2 Zahlen addieren :) und der OP hatte von 3 gesprochen :) Wenn man anstelle von 2 min. einfach mal 5 min. Zeit in das Programm steckt, dann macht es beim Ausrechnen sogar noch Musik und zeigt dir das Wetter für morgen an. :) Sollte alt möglichst simpel und verständlich sein. Für so einen Krims muss man ja nicht wirklich Programmieren können, oder sehe ich das falsch?
Grüße Sebastian van de Meer -- -- -- Ich widerspreche der Nutzung oder übermittlung meiner Daten für Werbezwecke oder für die Markt- und Meinungsforschung (§ 28 Absatz 3+4 Bundesdatenschutzgesetz). VCard zum downloaden: http://www.kernel-error.de/kernel.vcf ##################################################### # GPG-INFO # # Finger-Print # # AC4E 5829 62C9 9CE6 F3D0 C209 6BB8 FE16 5CD6 50F3 # # Den oeffentlichen bekommt ihr unter: # # http://www.kernel-error.de/kernel-error-mobil.asc # #####################################################
Hallo, ich mag da etwas simpel vorgehen. Aber ich habe eine Arbeitszeitentabelle aus alten Exel-Zeiten, die auch in Open Office gut läuft. War etwas aufwändig, Kernzeiten, Fehlzeizen und Uraub zu implementieren, aber es geht. Man muss das Rad nicht immer neu erfinden! Gruß Wilfried Am Montag, 13. Dezember 2004 13:19 schrieb Sebastian van de Meer|Mobil:
Hallo!
Am Montag, 13. Dezember 2004 11:28 schrieb Mario Mueller:
ich suche ein Programm, womit man Zeiten (min:sec) addieren kann:
Das Programm ist doch viel schneller selbst geschrieben als gesucht, oder?
Hier was mir so in 2 min. eingefallen ist. Als kleiner Gedankenanstoß sollte das doch reiche, oder?
#### code #### #include <iostream>
using namespace std;
int main() { int min1; int min2; int sek1; int sek2; int foo; int bar;
cout <<"Bitte Minute 1 eingeben:"; cin >> min1; cout <<"Bitte Minute 2 eingeben:"; cin >> min2; cout <<"Bitte Sekunden 1 eingeben:"; cin >> sek1; cout <<"Bitte Sekungen 2 eingeben:"; cin >> sek2;
foo = min1 + min2; bar = sek1 + sek2; if (bar > 59) { foo = foo +1; bar = bar -60; }
cout << foo<<":"<< bar; return 0; } #### code ####
Grüße
Sebastian van de Meer
-- __________________________ Wilfried Lahme Netzwerk Berufliche Bildung e.V.
Am Montag, den 13.12.2004, 11:28 +0100 schrieb Mario Mueller:
Hallo SuSE-Gemeinde,
ich suche ein Programm, womit man Zeiten (min:sec) addieren kann:
in etwa so: 01:05 + 04:55 + 02:22 = 08:22
Vielleicht hilft dir "date" weiter. Das kann auch solche komischen Sachen: $ date -d "now" Mo Dez 13 22:43:13 CET 2004 $ date -d "now + 1h" Mo Dez 13 10:00:00 CET 2004 $ date -d "yesterday - 1h" So Dez 12 10:00:00 CET 2004 Gruß, Ratti -- -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux /\\ http://freshmeat.net/projects/fontlinge/ _\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
Am Montag, 13. Dezember 2004 22:44 schrieb Joerg Rossdeutscher:
$ date -d "now" Mo Dez 13 22:43:13 CET 2004
$ date -d "now + 1h" Mo Dez 13 10:00:00 CET 2004
$ date -d "yesterday - 1h" So Dez 12 10:00:00 CET 2004
hm. wenn "now" 22:43 ist, ist es aber in einer stunde nicht heute vormittag um zehn... und "gestern und noch eine stunde weiter zurück" ist auch nicht gestern früh um zehn... mathias@merry:~> date -d "now" Mo Dez 13 23:02:24 CET 2004 mathias@merry:~> date -d "now + 1h" Mo Dez 13 10:00:00 CET 2004 mathias@merry:~> date -d "now + 1 hour" Di Dez 14 00:02:31 CET 2004 mathias@merry:~> date -d "yesterday - 1h" So Dez 12 10:00:00 CET 2004 mathias@merry:~> date -d "yesterday - 1 hour" Mo Dez 13 00:02:47 CET 2004 mathias@merry:~> date -d "yesterday - 1 ago" date: ungültiges Datum „yesterday - 1 ago“ mathias@merry:~> date -d "yesterday - 1 hour" Mo Dez 13 00:03:12 CET 2004 mathias@merry:~> date -d "yesterday + 1 hour" Mo Dez 13 00:03:28 CET 2004 irgendwie minder verständlich was da wie gerechnet wird... bye, MH
Moin, Am Montag, den 13.12.2004, 23:04 +0100 schrieb Mathias Homann:
Am Montag, 13. Dezember 2004 22:44 schrieb Joerg Rossdeutscher:
$ date -d "now" Mo Dez 13 22:43:13 CET 2004
$ date -d "now + 1h" Mo Dez 13 10:00:00 CET 2004
$ date -d "yesterday - 1h" So Dez 12 10:00:00 CET 2004
hm. wenn "now" 22:43 ist, ist es aber in einer stunde nicht heute vormittag um zehn... und "gestern und noch eine stunde weiter zurück" ist auch nicht gestern früh um zehn...
Ups. War mir gar nicht aufgefallen. Die richtige Variante hast du ja gefunden:
mathias@merry:~> date -d "now + 1 hour" Di Dez 14 00:02:31 CET 2004
info coreutils date verrät mir leider auch nicht, was ein "h" denn ist, wenn nicht die Stunde. Vielelicht sollte man mal den Maintainer anschreiben, damit er "--verbose --debug" einbaut. :-) Gruß, Ratti -- -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux /\\ http://freshmeat.net/projects/fontlinge/ _\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
participants (6)
-
Andreas Loesch
-
Joerg Rossdeutscher
-
Mario Mueller
-
Mathias Homann
-
Sebastian van de Meer|Mobil
-
Wilfried Lahme