Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Warum bleibt mein Fenster nicht geöffnet

Rush86 / 1 Antworten / Baumansicht Nickles

Hallo. Ich beginne gerade erst mit C++ und habe mal kurz hineingeschnuppert und dabei stolpere ich immer wieder über das gleiche Problem: Mein Programmfenster verschwindet immer!?!? Entweder blitzt es nur kurz (Hello World) auf oder schließt sich vorzeitig (Addition zweier Zahlen). Als Compiler verwende ich Dev-C++ und als Lehrbuch "Jetzt lerne ich C++" herausgegeben von Markt und Technik.


Beim Hello World Programm verwende ich folgenden Code:


#include <iostream.h>
int main()
{
cout << "Hello World!\n";
return 0;
}



Beim Compiler liegt ein Code bei, bei dem das Fenster offen bleibt:


#include <iostream>


using namespace std;


int main (int argc, char *argv[])
{
cout << "Hello World!" << endl;
cout << "Press ENTER to continue..." << endl;
cin.get();
return 0;
}


Ich frage mich wo der entscheidende Teil des Programms liegt, damit das Fenster offen bleibt.


Bei folgendem Programm zum Addieren von Zahlen schließt sich das Programm nachdem ich zwei Zahlen eingegeben habe und Enter drücke:


#include <iostream.h>


int Add ( int x, int y )


{


cout << "In Add(), erhalten " << x << " und " << y<< "\n";


return (x+y);


}


int main()


{


cout << "Ich bin in main()!\n";


int a, b, c;


cout << "Geben sie zwei zahlen ein: ";


cin >> a;


cin>> b;


cout >> "\nAufruf von Add ()\n";


c=Add(a,b);


cout << "\nZurueck in main().\n";


cout << "c wurde gesetzt auf " << c;


cout << "\nBeenden...\n\n;


return 0;


}


Folgendes sollte ausgegeben werden (das Programm läuft aber nur bis zum Fettgedruckten):


Ich bin in main()!


Geben sie zwei Zahlen ein: 3 5


Aufruf von Add()


In Add() , erhalten 3 und 5


Zurueck in main().


c wurde gesetzt auf 8


Beenden...

bei Antwort benachrichtigen
thomas woelfer Rush86 „Warum bleibt mein Fenster nicht geöffnet“
Optionen

das fenster ist kein fenster sondern einfach eine konsole die fuer i/o geoeffnet wird. liegt nicht mehr an das ein- oder ausgegben werden soll (am ende des programms) wird die konsole eben geschlossen.

wenn du das fertige programm auf einer bereits geöffneten konsole ausfuehrst, dann bleibt die konsole auch danach geoeffnet.

der grund warum das fenster im beispiel geoffnet bleibt ist das cin.get(): das wartet auf die eingabe eines zeichens von der tastatur (z.b. return) - solange das nicht eingegeben wird, bleibt die konsole eben offen.

WM_HOPETHISHELPS

this posting contains no tpyos.
bei Antwort benachrichtigen