Warum verschwindet mein programm sofort nach dem starten?



  • Hi @ all,
    ich bin ein total noop in sachen c++, hab gerad erst angefangen.
    Und hab schon erste probleme.
    Ich hab ein Hello World programm geschrieben, Aber es verschwindet sofort. Warum?

    #include <iostream.h>

    int main()
    {
    cout << "Hello World!\n";
    return 0;
    }
    😕



  • eine frage, die so oft gestellt wird ...

    stell sie anders herum: warum sollte das programm offenbleiben?

    du bist der programmierer, du entscheidest hier, dass es sofort wieder beendet 😉



  • Schon klar, aber wie kann ich machen, dass es offen bleibtß

    MfG



  • Das Programm beendet sich automatisch, wenn es alle Anweisungen abgearbeitet hat.

    Entweder du öffnest es aus der Konsole heraus

    // Windows
    cd VERZEICHNIS_ZU_DEINEM_PROGRAMM
    PROGRAMMNAME
    

    oder du baust vor der return Anweisung noch ein cin.get() o.ä. ein. Dies fordert dich dann noch zu einer Eingabe auf, bevor sich das Fenster schließt.
    (z.B.)

    #include <iostream>
    using namespace std;
    
    int main()
    {
         cout << "\n Hello World!\n";
         cin.get();
         return 0;
    }
    

    Btw. Es heißt (nach aktuellem Standard) iostream im namespace std; und nicht iostream.h, also

    #include <iostream>
    using namespace std;
    

    Caipi



  • michel_herke schrieb:

    Schon klar, aber wie kann ich machen, dass es offen bleibtß

    MfG

    Man ziehe die FAQ zu Rate. Ist ein Konsolenproblem.

    Wenn du es einfacher, aber plattformabhängig willst:

    #include <iostream>
    int main(){
        std::cout << "ich bin eine schlechte aber einfache loesung" << std::endl;
        system("pause"); // fenster offen halten
    
        return 0;
    }
    


  • ich hab das jetzt so gemacht, aber es geht immer noch zu.
    <iostream>
    using namespace std;
    int main()
    {
    cout << "Hello World!\n";
    cin.get()
    return 0;
    }



  • #include <iostream>
    using namespace std;
    
    int main()
    {
        // ...
        cin.sync();
        cin.get();
     return 0;
    }
    

    mfg



  • wenn ich deinen text compilieren will kommt diese fehlermeldung:
    [C++ Fehler] Unit1.cpp(4): E2268 Aufruf der undefinierten Funktion 'system'
    #include <iostream>
    int main(){
    std::cout << "ich bin eine schlechte aber einfache loesung" << std::endl;
    system("pause") ; // fenster offen halten

    return 0;
    }



  • sag mal bist du ein troll, oder weißt du echt nicht wie "suchen" funzt?
    soll ich dieses fremdwort mal erklären? hey, moment mal! es ist gar kein fremdwort! 😮

    klick

    mfg



  • oder einfach mal simons link nutzen
    http://www.c-plusplus.net/forum/viewtopic.php?t=39328

    und die konsolenfaq hält noch andere antworten bereit 🙂



  • also ich würde das so machen:

    #include <iostream> 
    #include <cstdlib> //wird benötigt für "system("pause")"
    using namespace std; //Vereinfachung um nicht ständig std:: zu schreiben, z.B. std: cout << "..."
    
    int main() 
    { 
    cout << "Hallo Welt!" << endl;
    system("pause");
    return 0; 
    }
    

    😮



  • Macht es doch nicht so kompliziert, da es sich um ein Hello Word programm handelt nehme ich nicht an das du diese irgendwann verwenden willst sondern es geht dir darum zu sehen was C++ beim compilieren macht richtig? Ich nehme an du kompilierst mit F5? Dann versuch doch einfach mal STRG+F5 dann bleibt das Fenster offen bis du eine Tast drückst. 😉



  • terraner schrieb:

    sag mal bist du ein troll, oder weißt du echt nicht wie "suchen" funzt?
    soll ich dieses fremdwort mal erklären? hey, moment mal! es ist gar kein fremdwort! 😮

    klick

    mfg

    Ich glaube auf solche unsachlichen Kommentar können wir verzichten, wir waren schließlich alle mal Anfänger!!!

    Ich errinere mich dunkel dass ich selber das Problem hatte.

    @Terraner mag ja sein das du C++ programmieren kannst, was aber eine solche herablassung gegenüber Anfängern nicht rechtfertigt.

    Und selbst wenn es schon in anderen Foren beschrieben wurde, ein netter Umgangston wäre trotzdem net.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.

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

    Dieses Posting wurde automatisch erzeugt.



  • simon.phoenix schrieb:

    Wenn du es einfacher, aber plattformabhängig willst:

    #include <iostream>
    int main(){
        std::cout << "ich bin eine schlechte aber einfache loesung" << std::endl;
        system("pause"); // fenster offen halten
    
        return 0;
    }
    

    Das ist nicht einfacher, sondern einfach nur schlecht! 👎



  • bigborre schrieb:

    Ich glaube auf solche unsachlichen Kommentar können wir verzichten, wir waren schließlich alle mal Anfänger!!!

    Ich errinere mich dunkel dass ich selber das Problem hatte.

    @Terraner mag ja sein das du C++ programmieren kannst, was aber eine solche herablassung gegenüber Anfängern nicht rechtfertigt.

    Und selbst wenn es schon in anderen Foren beschrieben wurde, ein netter Umgangston wäre trotzdem net.

    Wenn jemand in einer Stunde zwei threads aufmacht, >10 postings abliefert und dabei gleich mehrere faq-beiträge abgräumt, keine ahnung hat wieso die konsole zu geht, aber gleichzeitig mit gui-programmierung was machen will, muss IMO irgendetwas falsch machen. wenn dann noch ein satz à la "ich bin ein <noob/noop/boon>" kommt und ein cross posting nachgereicht wird, sollten solche kommentare kein wunder mehr sein.

    mfg



  • @C++ Neuling

    Was wenn du ein C++ Profi wirst?

    MfG CSS



  • @terraner Na gut, geb ich zu. Manchnal können Leute echt nerven, hab nur das hier mitbekommen. 😉


Anmelden zum Antworten