Programm soll erstma "schlafen" !!
-
Hallo. Ich wollte ein Programm schreiben, wo man erstmal den namen des Programms angibt und dann ne Art schlafzeit, welches das programm wartet, bis der text ausgegeben wird. Hier mein aktueller Quellcode:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <windows.h>int main(){
int name;
int schlafzeit;printf("\nWie heißt ihr Programm?: ");
scanf("%i", &name);printf("\nWie lange soll das Programm schlafen?: ");
scanf("%i", &schlafzeit);printf("\nNach der 1. Schlafzeit! ");
printf("\nNach der 2. Schlafzeit! ");
return 0;
}Ja, dass mit dem namen muss noch geändert werden, da immoment ja nur ne zahl akzeptiert wird. Aber wie erreiche ich es, dass mein Prog erstmal schläft ?? mit sleep() geht das iwie nicht ^^
-
#include <unistd.h>
Was ist denn das?
#include <windows.h>
Und wozu ist dann das??
-
habe beiträge vorher gesucht und da stand dass man das mit sleep machen kann und die pakete muss man dazu includieren.. aba geht ja net.. kann also gelöscht werden^^
-
mngbd schrieb:
#include <unistd.h>
Was ist denn das?
#include <windows.h>
Und wozu ist dann das??
Das sind windows- und unixspezifische Header.
Icke: Windows kennt Sleep(milliseconds), unter Linux heisst es sleep(seconds), wenn ich mich nicht täusche. Eine Funktion für beide OS könnte etwa so aussehen:
void SleepSeconds (size_t n) { #ifdef WIN32 Sleep(n*1000); #else sleep (n): #endif }
-
#ifdef WIN32 #define MY_SLEEP(x) Sleep((x)*1000) #else #define MY_SLEEP(x) sleep((x)) #endif
-
Funktionsähnliche Makros mag ich irgendwie nicht.
-
void SleepMilliSeconds (size_t n) { #ifdef WIN32 Sleep(n); #else usleep(n*1000): #endif }
So ist's genauer.
-
Wie soll ich das denn in meinen code reinschreiben?? ich verstehe das iwie nicht -.- .. Also die Aufgabe ist:
Schreiben Sie ein C-Programm p1, welches eine bestimmte Anzahl an Sekunden schläft, dann den Text ausgibt "./p1 nach der 1. Schlafzeit", dann nochmals die gleiche Zeit schläft und zum Aschluss den Text "./p1 nach der 2.Schlafzeit" ausgibt. Dabei steht ./p1 für den Namen des Programms aus der argc übernehmen. Auch die Schlafzeit in Sekunden ist an das Programm zu übergeben.
-
#include <stdio.h> #ifdef WIN32 #include <windows.h> #else #include <unistd.h> #endif //WIN32 void SleepMilliSeconds (size_t n) { #ifdef WIN32 Sleep(n); #else usleep(n*1000): #endif } int main() { printf("first message\n"); SleepMilliSeconds(1000); //1 Sekunde warten printf("after 1 second\n"); }
-
das kann mein C Compiler nicht kompilieren.
-
supertux schrieb:
das kann mein C Compiler nicht kompilieren.
Wär' sonst auch irgendwie komisch^^
Sorry, jetzt fange ich grad an, mich an die C++-I/O zu gewöhnen...Habs editiert.
-
int main(void)
{
...
}