Programm unterbrechen?



  • @audacia
    Ich find's immer ganz schön, wenn man so was mal zu Fuß gemacht hat... Außerdem hatte ich die Funktion gerade irgendwie aus meinem Gedächnis gestrichen 😉



  • Matthias S schrieb:

    Ich find's immer ganz schön, wenn man so was mal zu Fuß gemacht hat... Außerdem hatte ich die Funktion gerade irgendwie aus meinem Gedächnis gestrichen 😉

    aber 'Sleep' ist was ganz anderes als deine prozessorzyklenverbrennschleife... 😉



  • Also hab des mit Visual C++ ausprobiert, und nun hält das ganze Programm an und ist beendet! Das soll ja nicht passieren! Wie kann ich das beheben??????

    MFG:DerLateinProfi



  • Na ich dachte, du willst das Programm unterbrechen? Meints du der schließt das Programm komplett?



  • Also ich will ja keinen nerven, aber Visual C++ sagt sleep sei ein undeklarierter Synatx, oder so, und Miracle C sagt nur error.
    Also ich hab angefangen mit 3dGamestudio zu programmieren. Eigendlich primitiv! ok, aber da gab es sleep und wait! Diese unterbrachen das Programm für eine angegebenen Zeit! So nun wollte ich dies auch in C oder C++ machen! Will nur wissen wie das geht! Weil ich will eine Printf oder Cout anweisung haben, auf die eine Sekunde Später eine weitere folgt! Ich hoffe ihr versteht das! Helft mir Bitte!!!!!!
    Wäre euch sehr dankbar!

    MFG: DerLateinProfi!

    PS: Könnt mir ja mal ein Programm zeigen, wo so was ist! Bitte nich zu komplex!^^ Bin ja noch anfänger!^^ Mir ist auch egal ob C, oder C++! Geht beides!



  • Na aber es wurde doch schon gepostet:

    void warte(double sec) 
    { 
        const DWORD dwWait = GetTickCount(); 
        while(GetTickCount()-dwWait < sec*1000); 
    }
    

    Das schreibst du vor deine

    void main()
    

    anweisung.

    Und aufrufen tust du das ganze dann über

    warte(100)
    


  • Also ich empfehle warte(1), da das schon in der Funktion in Sekunden umgerechnet wird... Ansonsten müsste es aber auch warte(1000) heißen 😉



  • Das war ja auch ein Beispiel...
    Sorry tut mir ja leid 😛 😃



  • voodoopuppe schrieb:

    Das schreibst du vor deine

    void main()
    

    anweisung.

    bitte kein "void main" mehr -..-^
    int main ist besser 😉



  • Mein Compiler gibt's immer als void main() anfangs aus, ändere es zwar selber immer um, dachte aber, dass das Standard ist



  • Also das funktioniert schon mal!^^ Danke! Aber jetzt habe ich ein neues Problem!:

    #include <iostream.h>;
    #include <windows.h>;
    #include <stdio.h>;

    void warte(double sec)
    {
    const DWORD dwWait = GetTickCount();
    while(GetTickCount()-dwWait < sec*1000);
    }

    int main()
    {

    warte(1);
    cout << " __ __ \n";
    warte(1);
    cout << " / \\ / \\ \n";
    warte(1);
    }

    So jetzt wartet er aber 3 Sekunden, und gibt dann alles auf einmal aus! Dass soll er ja nicht!^^ Er soll warten, dann die erste Zeile ausgeben, und dann warten und die zweite ausgeben.....

    Wie geht dass dann?? Was muss ich dafür ändern????

    MFG:DerLateinProfi



  • Du mußt die Ausgabe flushen ( cout.flush(); oder cout<<endl; ).

    (btw, cout gehört nach C++)


Anmelden zum Antworten