System("PAUSE")



  • Hey,

    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    
    int main()
    {
        int summe=10;
    
        while (summe>=9 && summe<=15)
        {
            cout << "Die Groesse der Variablen summe betraegt: " << summe << endl;
            summe++;
            system("PAUSE");
        }
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    Wieso gibt das Programm die 6 Zahlen(10-15) aus, obwohl im Code system("PAUSE") steht?
    Was genau macht die Funktion system("PAUSE") denn eigentlich? Sollte das Programm nicht einfach gestoppt werden? Ich weiß das man Systemfunktionen nicht benutzten soll, würde das aber trotzdem mal wissen.





  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Im Artikel wird nur erläutert warum man es nicht benutzten sollte. Das ist aber nicht meine Frage. Ich will wissen, was es denn genau macht, ja es benutzt Systemfunktionen aber was passiert genau, wenn man es in seinem Programm benutzt.



  • xLogiaa schrieb:

    Im Artikel wird nur erläutert warum man es nicht benutzten sollte. Das ist aber nicht meine Frage. Ich will wissen, was es denn genau macht, ja es benutzt Systemfunktionen aber was passiert genau, wenn man es in seinem Programm benutzt.

    So, du weißt jetzt, dass system eine System-Funktion aufruft.

    Der nächste Schritt deinerseits wäre gewesen, einfach mal Windows PAUSE zu googeln. Ergebnis 2 + 3 gehen darauf ein ...



  • Wenn man system("PAUSE") googlt dann kommen nur Seiten wo steht WARUM man es nicht benutzten sollte. Und das ist auch net ganz das was ich wissen will. Ich wollte eigentlich wissen, warum der Code wie er da steht, die 6 Zahlen ausgibt, obwohl da 2x System Pause steht.



  • xLogiaa schrieb:

    Wenn man system("PAUSE") googlt dann kommen nur Seiten wo steht WARUM man es nicht benutzten sollte.

    Wie schwer kann es sein, DAS komplett zu ignorieren?! Zweites Ergebnis?! Hast du ein anderes Google, anderes Internet ... ?

    Und das von dir beschriebene Verhalten kann ich auch nicht nachvollziehen im Übrigen. Mich fragt dein Code jedes Mal an, jetzt noch mal eine Taste zu drücken. Kompiliert mit Visual Studio 2015 auf Windows 7, Release x86, /02 /Ot .



  • Ich bin nicht jede Seite durchgegangen, hab in den Überschriften nur gelesen, "DONT USE", SYSTEM IS EVIL" usw.... Was ist denn so schwer es mir einfach zu sagen, wenn ich sage das ich es nicht finde?? Wozu ist ein Forum denn sonst da? Außerdem sollte es für euch Profis auch nicht schwer sein, es mir in 1 Satz zu erklären.

    Ja man muss nach jeder Zahl Enter tippen. Ich dachte vorher nur das es das gleiche wie "return 0;" sei.



  • xLogiaa schrieb:

    Was ist denn so schwer es mir einfach zu sagen, wenn ich sage das ich es nicht finde??

    Weil du sonst nix lernst? Jedes Mal, wenn du nachfragst, stallt der Prozess der Lösungsfindung für dich. Du möchtest so wenig Stalls wie möglich haben. Deswegen schaust du erst einmal selbst nach.

    Und wenn du nach X Seiten immer noch nicht weißt, wie man Z angehen soll, oder Verständnisfragen hast, kannst du gerne nachfragen. Je intelligenter die Frage, desto besser.

    xLogiaa schrieb:

    Wozu ist ein Forum denn sonst da?

    Nicht dazu, die Verwendung einer Funktion, die außerdem allgemein gesprochen mit schlechtem Code assoziiert wird, zum X-ten Mal wiederzukäuen.

    xLogiaa schrieb:

    Außerdem sollte es für euch Profis auch nicht schwer sein, es mir in 1 Satz zu erklären.

    1. Das ist "Experte". Ein "Profi", also ein Professioneller, ist jemand, der etwas als "Profession", also als Arbeit macht. Und ich sage dir, dass genug "Profis" da draußen keinen Plan haben, was sie da eigentlich tun. "Experten" haben da eine höhere Trefferquote.
    2. Was, und dir die Chance nehmen, selbst nachzuforschen, und irgendwann selbst zum Experten zu ascendieren?



  • xLogiaa schrieb:

    Ja man muss nach jeder Zahl Enter tippen. Ich dachte vorher nur das es das gleiche wie "return 0;" sei.

    Du siehst doch, was passiert:
    Das Programm hält an, fordert Dich auf, eine Taste zu drücken, und wenn Du das tust, läuft es weiter ...
    Es ist nicht das gleiche wie return 0;
    Keine Ahnung, wie Du darauf kommst 😕

    EDIT:
    Irgendwie lässt einen der Befehlsname 'PAUSE' das doch auch genau so vermuten, oder?



  • Wie gesagt: Ich habe selber nachgeschaut, nicht wirklich was gefunden, also hab ich gefragt. Man fragt ja um zu lernen. Und wieso muss man denn immer alles Wortwörtlich nehmen? Profi, Experte, Fachmann, ist doch scheißegal welches Wort ich nehme, jeder weiß was gemeint ist.

    Ich habe es jetzt mittlerweile so verstanden: system("PAUSE") ist nicht das gleiche wie "return 0;" und pausiert an der stelle, stoppt es aber nicht. Um weiter zu machen muss man einfach irgendeine Taste drücken und das Programm macht normal weiter? Ist das richtig so?



  • xLogiaa schrieb:

    Profi, Experte, Fachmann, ist doch scheißegal welches Wort ich nehme, jeder weiß was gemeint ist.

    Hier habe ich aufgehört zu lesen.

    *plonk*



  • Belli schrieb:

    xLogiaa schrieb:

    Ja man muss nach jeder Zahl Enter tippen. Ich dachte vorher nur das es das gleiche wie "return 0;" sei.

    Du siehst doch, was passiert:
    Das Programm hält an, fordert Dich auf, eine Taste zu drücken, und wenn Du das tust, läuft es weiter ...
    Es ist nicht das gleiche wie return 0;
    Keine Ahnung, wie Du darauf kommst 😕

    EDIT:
    Irgendwie lässt einen der Befehlsname 'PAUSE' das doch auch genau so vermuten, oder?

    Ich habe es auch nicht vermutet, sondern glaube es mal gehört zu haben. Ich sah auch keinen Sinn in einer Pause Funktion.

    xLogiaa schrieb:

    Ich habe es jetzt mittlerweile so verstanden: system("PAUSE") ist nicht das gleiche wie "return 0;" und pausiert an der stelle, stoppt es aber nicht. Um weiter zu machen muss man einfach irgendeine Taste drücken und das Programm macht normal weiter? Ist das richtig so?

    Ist das richtig so?



  • Tja, wie soll ich sagen ...
    Was ist denn in Deinen Augen der Unterschied zwischen pausieren und stoppen?
    Übrigens: Auch return 0; stoppt oder beendet ein Programm nicht!

    Ich habe ja schon in meinem letzten Posting beschrieben, was 'pause' macht, mehr kann ich dazu nicht beitragen.



  • dachschaden schrieb:

    Hast du ein anderes Google, anderes Internet ... ?

    Ja, hat er.
    Google gibt userspezifische Antworten.

    Darum nützen solche Angaben wie "3. Antwort bei Google" nichts.


Log in to reply