kostenloser Webspace werbefrei: lima-city


Wecker mit C++

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    m****w

    Hi

    Also, ich w?rde mich mal fragen, wie man einen wecker mit C++ machen kann...
    Wenn einer sowas schonmal gemacht hat, WIE?

    Menlwo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 0******a

    Ich antworte mal genau so allgemein, wie du deine Frage gestellt hast:

    - Programmbeginn
    - Kommandozeilenparamter Weckzeit einlesen oder Weckzeit aus Datei o.?. einlesen
    - Aktuelle Uhrzeit feststellen
    - Wartezeit = Weckzeit - Aktuelle Uhrzeit
    - ?berpr?fen, ob Wartezeit positiv, wenn negativ Fehlermeldung ausgeben
    - Wartezeit abwarten
    - Wecksignal generieren
    - Programmende

    Wenn du genauere Informationen brauchst, dann stell deine Frage pr?ziser.
    Ansonsten schau mal in den Thread http://www.lima-city.de/boards?m=thread&id=10129
  4. Autor dieses Themas

    m****w

    Also. zuerst muss ich sagen, dass ich nicht viel mehr als einen Taschenrechner hinkriege.
    Ich hatte mir das so vorgestellt:

    -Programmbeginn
    -Abfrage, wann geklingelt werden soll (Stunde+Minuten)
    -Dann soll so oft ?berpr?ft werden, ob die urzeit ?bereinstimmt (ich denke, mit einer do-while-schleife)
    -Wenn die uhrzeiten ?bereinstimmen, dann soll ein ton abgespielt werden
    -Programmende, wenn der vorletzte schritt ausgef?hrt wurde

    Nur ich habe keine Hanung, Wie man die uhrzeit ?berpr?ft, wie eine do-while schleife in C++ funzt usw.

    Menlow
  5. j***e


    -Programmbeginn
    -Abfrage, wann geklingelt werden soll (Stunde+Minuten)
    -Dann soll so oft ?berpr?ft werden, ob die urzeit ?bereinstimmt (ich denke, mit einer do-while-schleife)

    w?rs nicht besser wenn du die weckzeit einliest, die systemzeit ?bernimmst, und dann die differenz, also die wartezeit errechnest? in kombination mit Sleep()
    ist das extrem schonend f?r deinen pc :wink:


    -Wenn die uhrzeiten ?bereinstimmen, dann soll ein ton abgespielt werden
    -Programmende, wenn der vorletzte schritt ausgef?hrt wurde
  6. Autor dieses Themas

    m****w



    -Programmbeginn
    -Abfrage, wann geklingelt werden soll (Stunde+Minuten)
    -Dann soll so oft ?berpr?ft werden, ob die urzeit ?bereinstimmt (ich denke, mit einer do-while-schleife)

    w?rs nicht besser wenn du die weckzeit einliest, die systemzeit ?bernimmst, und dann die differenz, also die wartezeit errechnest? in kombination mit Sleep()
    ist das extrem schonend f?r deinen pc :wink:


    -Wenn die uhrzeiten ?bereinstimmen, dann soll ein ton abgespielt werden
    -Programmende, wenn der vorletzte schritt ausgef?hrt wurde



    ?hm, das ende versteh ich nicht :(

    Also die idee, mit der wartezeit ist nicht schlecht... aber wie spiele ich einen ton ab?
  7. j***e

    wie w?rs mit


    cout << "\a";

    ?
  8. Autor dieses Themas

    m****w

    H?? Also, ich habe noch nicht so viel ahnung von C++...
    Ich habe jetzt einen, da gibt man die sekunden und die stunden ein, und er beendet das proggi, wenn die zeit abgelaufen ist. Nur jetzt br?uchte ich halt nen passenden ton, und die funze, wie das abspielen geht...
  9. j***e

    hab ich dir doch geschrieben?



    if (differenz == 0)

    {

    cout << "Es ist jetzt "<< uhrzeit << " Uhr!\a\a\a\a\n";

    }



    dann h?rst du auch gleich 4 mal nen sch?nen netten ton der dich sicherlich auf den wecker aufmerksam macht ;)
  10. Autor dieses Themas

    m****w

    Naja, ich meinte das jetzt so, dass wenn die zeit abgelaufen ist, dass dann irgendwie "allemeineentchen.mp3" abgespielt wird...

    Das von dir h?rt sich net toll an :(
  11. 0******a

    Machs mit
    system("c:\\programme\\deinplayer.exe d:\\musik\\entchen.mp3")
    Noch besser w?re es allerdings, wenn du das als Parameter ?bergeben w?rdest. Der Aufruf des Programmes w?rde dann so aussehen:

    C:\>wecker.exe 08:00:00 "c:\winamp\winamp.exe d:\\musik\\entchen.mp3"

    Das Programm m?sste dann ?berpr?fen, ob es einen 2. Parameter gibt.
    Wenn nein, dann das machen, was judge geschrieben hat.
    Wenn ja, dann einfach mit system ausf?hren.
    Wenn system einen Fehlercode zur?ckgibt, das machen, was judge geschrieben hat.
  12. Autor dieses Themas

    m****w

    Aber dann startet er 1. winamp und 2. wird der rest vom programm ignoriert. So sieht mein jetziger Code aus:

    #include <stdio.h>
    #include <windows.h>
    #include <conio.h>
    #include <mmsystem.h>
    #include <iostream.h>

    int sek, min, stdt, minr, stdr, difsec, sleeptime, joa, end;

    main()
    {
    cout << "PC-Wecker" << endl;
    cout << "Sekunden: ";
    cin >> sek;
    cout << "Minuten: ";
    cin >> min;
    cout << "Stunden: ";
    cin >> stdt;
    cout << "Bitte warten..." << endl;
    Sleep(2000);
    minr = min * 60;
    stdr = stdt * 60 * 60;
    difsec = minr + stdr + sek;
    sleeptime = difsec * 1000;
    cout << "Sekunden: " << difsec << "." << endl;
    cout << "Milli-Sekunden: " << sleeptime << "." << endl;
    Sleep(sleeptime);
    cout << "Die Zeit ist Abgelaufen.";
    end = 0;
    if(end == 0)
    {
    system("c:\\programme\\winamp\\winamp.exe c:\\Dev-Cpp\\klingelton.WAV");
    }
    cin >> joa;
    return 0;
    }

    Mnlow
  13. 0******a

    menlow schrieb:
    Aber dann startet er 1. winamp und 2. wird der rest vom programm ignoriert.

    Du hattest ja zuerst auch nach der Ausgabe einer MP3 Datei gefragt. Du wolltest doch nicht das ganze Parsen und Vorspielen von MP3s selber programmieren, oder?
    Ich sehe da gar keinen Rest von einem Programm...
    Falls da doch noch was kommen soll, dann kannst du entweder mit Threads arbeiten oder einen neuen Prozess erstellen. Das brauchst du aber nur, wenn das Programm w?hrend des Abspielens etwas anderes gleichzeitig tun soll, beziehungsweise w?hrend des Abspielens nicht im system() Aufruf blockiert sein soll.
  14. Autor dieses Themas

    m****w

    Also. Bei dem Start des Programmes, wird Winamp gestartet. Es soll aber erst starten, wenn die Variable "end" den inhalt 0 hat ....

    Menlow


    [Edit von Judge]
    end = 0;
    if(end == 0)
    {

    ...du gibst "end" ja auch unsinnigerweise sofort den wert...

    Beitrag ge?ndert am 1.11 18:40 von judge
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!