tutorials.de-Buchverschenkaktion 08/2010
+ Auf Thema antworten
  1. #1
    Registriert seit
    Jul 2010
    Beiträge
    5
    Hi,

    folgendes Programm habe ich (ab-)geschrieben:


    /* sekunden.c*/
    /* Ein /Programm, das eine Pause realisert.*/

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    void sleep( int nbr_seconds );

    int main( void )
    {
    int x;
    int wait = 13;

    /* Pause für eine Anzahl von Sekunden. Gibt für jede *
    * gewartete Sekunde einen Punkt aus.

    printf("Pause für %d Sekunden\n", wait);
    printf(">");

    for (x=1; x <= wait; x++)
    {
    printf("."); /* Einen Punkt ausgeben */
    fflush(stdout); /* Ausgabe bei gepufferter Ausgabe erzwingen */
    sleep( (int) 1 ); /* Eine Sekunde Pause */
    }
    printf( "Fertig!\n");
    return (0);
    }

    /* Pausiert für eine festgelegte Anzahl von Sekunden */
    void sleep( int nbr_seconds )
    {
    clock_t goal;

    goal = ( nbr_seconds * CLOCKS_PER_SEC ) + clock();

    while( goal > clock() )
    {
    ;/* Schleifenanweisung */
    }
    }

    Fehlermeldungen:

    27 C:\Dev-Cpp\sekunden.c syntax error before string constant
    27 C:\Dev-Cpp\sekunden.c conflicting types for 'printf'
    27 C:\Dev-Cpp\sekunden.c a parameter list with an ellipsis can't match an empty parameter name list declaration
    27 C:\Dev-Cpp\sekunden.c conflicting types for 'printf'
    27 C:\Dev-Cpp\sekunden.c a parameter list with an ellipsis can't match an empty parameter name list declaration
    27 C:\Dev-Cpp\sekunden.c [Warning] data definition has no type or storage class

    Hoffe, es kann mir jemand weiterhelfen..))

    Danke schon mal

  2. #2
    Benutzerbild von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein
    Registriert seit
    Jun 2007
    Ort
    Passau (Bayern)
    Beiträge
    595
    Hallo,

    bitte fasse nächstes mal deinen Quellcode in [ cpp] [/ cpp] Tags ein, so ist das einfacher zu lesen
    Ich denke mal, dass das Problem in Zeile 18 liegt. Du übergibst dem printf eine int, aber er erwartet eine double (%d).
    Ändere das mal wie folgt ab und versuchs nochmal:

    Code cpp:
    1
    
    printf("Pause fuer %i Sekunden\n", wait);

    Ausserdem stimmt was mit deinen Kommentaren nicht, schau dir mal die Zeilen 15-16 an, soltle wohl so aussehen:
    Code cpp:
    1
    2
    
    /* Pause für eine Anzahl von Sekunden. Gibt für jede *
    * gewartete Sekunde einen Punkt aus. */

    Des weiteren ist deine sleep-Methode sehr ineffizient, mit dieser wird der Prozessor auf 100% Last laufen, weil er die ganze Zeit die Schleife abarbeitet.

    Gruß
    BK
    Geändert von Bratkartoffel (29.07.10 um 15:31 Uhr) Grund: Weiterer Fehler, Hinweis auf sleep-Schleife
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

  3. #3
    deepthroat deepthroat ist offline Mitglied Diamant deepthroat ist berühmt wie kein Zweiter deepthroat ist berühmt wie kein Zweiter deepthroat ist berühmt wie kein Zweiter deepthroat ist berühmt wie kein Zweiter deepthroat ist berühmt wie kein Zweiter deepthroat ist berühmt wie kein Zweiter deepthroat ist berühmt wie kein Zweiter deepthroat ist berühmt wie kein Zweiter deepthroat ist berühmt wie kein Zweiter deepthroat ist berühmt wie kein Zweiter deepthroat ist berühmt wie kein Zweiter
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    6.619
    Hi.
    Zitat Zitat von Bratkartoffel Beitrag anzeigen
    Ich denke mal, dass das Problem in Zeile 18 liegt. Du übergibst dem printf eine int, aber er erwartet eine double (%d).
    Das ist falsch. %d steht für "decimal" und es wird ein signed int erwartet.

    /edit @Chessmaster2010: hast du denn die Farben von Kommentaren in Dev-C++ verstellt? Man sieht doch relativ gut wo Kommentare anfangen und wie weit sie sich erstrecken...

    Gruß
    Geändert von deepthroat (29.07.10 um 15:46 Uhr)
    .:Mitglied des 1. offiziellen Sven Uwe Fan-Clubs:.

  4. #4
    Registriert seit
    Jul 2010
    Beiträge
    5
    Hi BK,

    es lag am Kommentar. Als ich dies abgeändert habe, lief es.
    Danke nochmals. Wie kann ich denn die sleep-Methode besser machen?
    Danke für Deine Antwort.

  5. #5
    Benutzerbild von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein Bratkartoffel kann auf vieles stolz sein
    Registriert seit
    Jun 2007
    Ort
    Passau (Bayern)
    Beiträge
    595
    Hallo,

    sleep() wird hier etwas genauer diskutiert.

    Gruß
    BK
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

  6. #6
    3Cyb3r 3Cyb3r ist offline Mitglied Brokat 3Cyb3r hat eine blütenweiße Weste
    Registriert seit
    May 2008
    Ort
    Baunatal (Hessen)
    Beiträge
    385
    Du wirst nie außer zu schnellen Testzwecken ein Sleep Funktion benötigen, welche den Thread blockiert. Ansonsten arbeitet man mit Timern ( welche z.B. ein Interrupt erzeugen).

    MFG
    Bei der Geburt ist ein Mensch so unfertig, wie ein an einem schönen blauen Montag in Taiwan hergestellter Computer vor der Programmierung.
    - Wolfgang Körner

Ähnliche Themen

  1. Sekunden in Stunden:Minuten:Sekunden ausgeben.
    Von reeng im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 06.05.09, 08:34
  2. sekunden nach Minuten und sekunden
    Von mgraf im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 23.09.08, 16:47
  3. In Countdown: 09 Sekunden statt 9 Sekunden
    Von Partyman im Forum PHP
    Antworten: 4
    Letzter Beitrag: 03.02.08, 23:37
  4. Antworten: 9
    Letzter Beitrag: 24.09.04, 17:46
  5. Sekunden -> Stunden:Minuten:Sekunden
    Von Sputnik im Forum PHP
    Antworten: 2
    Letzter Beitrag: 24.10.02, 09:01

Lesezeichen

Lesezeichen