Das Fenster soll bleiben, aber wie?



  • Hallo,

    ich habe das nachfolgende Programm geschrieben:

    [code]
    #include <iostream.h>
    void main()
    {cout << "Ich will bleiben!";}
    [/code]
    

    Nachdem dieses Programm erstellt und ausgeführt wurde, zeigt das schwarze Ausgabefenster kurzlich meinen Satz ("Ich wäll bleiben") und dann verschwindet es (natürlich...)

    Ich will keine MFC-Anwendung benutzen.
    Ich will nur jenes Fenster am Bildschirm zu bleiben.

    Ich versuchte eine Ereignisbehandlungsroutine hinzuzufügen aber das war nicht möglich da mein Programm keinen MFC-Code enthielt. (z.B. als Vorassetzung "nur eine Nachricht wie WM_KEYDOWN kann das Programm beenden und es musste sich nicht selbst beenden nachdem die Anweisungen ausgeführt sind)

    Welchen Code soll ich zu diesem Zweck hinzufügen?
    Danke.
    aurora72



  • #include <iostream>
    #include <string>
    void main()
    {
    std::cout << "Ich will bleiben!";
    std::string sDummy;
    std::cin >> sDummy;
    }
    


  • und ich dacht schon, dass mir bei diesen noch nie dagewesenen fragen langweilig wird 😛



  • Sovok schrieb:

    #include <iostream>
    #include <string>
    void main()
    {
    std::cout << "Ich will bleiben!";
    std::string sDummy;
    std::cin >> sDummy;
    }
    

    hmm ist das nun die schlechteste, oder 2. schlechteste lösung...hmmm kann mich grad net entscheiden. was stört mich mehr, das unnötige #include<string>,oder das void main,...

    am einfachsten ist das:

    #include <iostream>
    using namespace std;
    int main(){
    	cout << "Ich will bleiben!";
    	int i;
    	cin>>i;
    }
    

    wenigstens kein string include mehr.

    ohne eingabe reicht aber normalerweise sowas:

    #include <iostream>
    using namespace std;
    int main(){
    	cout << "Ich will bleiben!";
            cin.get();
    }
    

    ein enter und programm ist zu.

    dann gibts nochn paar komplexere sachen, die man aber in der Konsolenfaq nachlesen kann, da scheinbar nicht bei jedem jede version funktioniert, und ich deshalb nichts vermeintlich falsches sagen will.



  • Die richtigste Version wäre eigentlich diese

    #include <iostream>
    using namespace std;
    int main()
    {
        cout << "Ich will bleiben!";
    }
    

    das sofortige schließen kann man unterbinden in dem man die Shell öffnet und das Programm von dort startet.
    Wenn ihr euch mal die tausend Konsolenprogramme anschaut so schließen sich fast
    alle bei nem Doppelklick sofort wieder (meist weil sie Parameter brauchen).



  • otze schrieb:

    #include <iostream>
    using namespace std;
    int main(){
    	cout << "Ich will bleiben!";
    	int i;
    	cin>>i;
    }
    
    #include <iostream>
    using namespace std;
    int main(){
    	cout << "Ich will bleiben!";
            cin.get();
    }
    

    also mich stört vorallem das fehlende return 🤡 😉



  • welches weder zwingend noch in irgendeiner form vorgeschrieben ist. schlechter ausgleich für ein eigentlich niemals erlaubtes void main 🙄



  • #include <iostream>
    using namespace std;
    int main(){
        cout << "Ich will bleiben!";
            system("pause");
    }
    


  • otze schrieb:

    welches weder zwingend noch in irgendeiner form vorgeschrieben ist. schlechter ausgleich für ein eigentlich niemals erlaubtes void main 🙄

    das void main stammt nicht von mir sondern vom fragesteller
    ich habs nur kopiert und die paar zeilen eingefügt

    und da die frage nich lautete "wie schreibe ich standardkonform" seh ich keinen grund ihn drauf hinzuweisen

    schliesslich is er ein anfänger und anfängern isses in der regel vorallem wichtig dasses läuft
    für schnickschnack is später zeit



  • Sovok less doch mal die Beschreibung dieses Forums:

    Fragen zu bestimmen Funktionen und Abläufen in C++ (nach dem ISO-Standard), damit man mal erfährt, was pure virtual bedeutet, oder wie das mit den Templates und der STL geht. Bitte keine Fragen zu Windows/Linux-Programmierung hier posten!



  • Irgendwer schrieb:

    Sovok less doch mal die Beschreibung dieses Forums:

    Fragen zu bestimmen Funktionen und Abläufen in C++ (nach dem ISO-Standard), damit man mal erfährt, was pure virtual bedeutet, oder wie das mit den Templates und der STL geht. Bitte keine Fragen zu Windows/Linux-Programmierung hier posten!

    ich halte es trotzdem für wichtiger die frage zu beantworten/beantwortet zu bekommen anstatt über anderen kram zu philosophiern



  • An das

    return 0;
    

    denkt mittlerweile niemand mehr :p

    Ok ausser Sovok 😉



  • Wolle. schrieb:

    An das

    return 0;
    

    denkt mittlerweile niemand mehr :p

    Ok ausser Sovok 😉

    war ja auch nur als freundschaftliche stichelei an otze gerichtet 😉


Anmelden zum Antworten