-
29.07.10 15:15 #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
-
29.07.10 15:29 #2
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ß
BKGeä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.
-
29.07.10 15:38 #3
- Registriert seit
- Jun 2005
- Beiträge
- 6.619
Geändert von deepthroat (29.07.10 um 15:46 Uhr)
.:Mitglied des 1. offiziellen Sven Uwe Fan-Clubs:.
-
29.07.10 15:45 #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.
-
29.07.10 15:48 #5
Hallo,
sleep() wird hier etwas genauer diskutiert.
Gruß
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
-
30.07.10 00:18 #6
- 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).
MFGBei 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
-
Sekunden in Stunden:Minuten:Sekunden ausgeben.
Von reeng im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 06.05.09, 08:34 -
sekunden nach Minuten und sekunden
Von mgraf im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 23.09.08, 16:47 -
In Countdown: 09 Sekunden statt 9 Sekunden
Von Partyman im Forum PHPAntworten: 4Letzter Beitrag: 03.02.08, 23:37 -
Funktion: Sekunden --> Jahre, Monate, Tage, Stunden, Minuten, Sekunden
Von Ordi im Forum Javascript & AjaxAntworten: 9Letzter Beitrag: 24.09.04, 17:46 -
Sekunden -> Stunden:Minuten:Sekunden
Von Sputnik im Forum PHPAntworten: 2Letzter Beitrag: 24.10.02, 09:01



Zitieren

Login





Lesezeichen