problem?

  • C++

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ich habe gerade begonnen C++ zu lernen, wenn ich programme wie zum beispiel Hello world mit anschliessender ausführung Compiliere erscheind die cmd.exe nur für einen kurzen moment (das selbe wenn ich die .exe einfach ohne Dev-C++ starte) und wenn ich mir das lern beispiel runterlade geht das :( . Was is mein Problem??? Wieso geht das wenn ich die .exe direkt downloade und ausführe aber nich wenn ich den Quell text selber Compiliere???


    Quellcode

    1. #include <iostream>
    2. int main()
    3. {
    4. std::cout << "Hallo, Welt!" << std::endl;
    5. }


    much thx schonma
  • Probier mal:

    Quellcode

    1. #include <iostream>
    2. int main()
    3. {
    4. std::cout << "Hallo, Welt!" << std::endl;
    5. std::getchar();
    6. }


    oder

    Quellcode

    1. #include <iostream>
    2. int main()
    3. {
    4. std::cout << "Hallo, Welt!" << std::endl;
    5. system("PAUSE");
    6. }
  • Ja, beim getchar()-Befehl erwartet das Programm eine Benutzereingaben von einem beliebigen Zeichen und bei system("PAUSE"); sendet das Programm eben an windows den Befehl pause, den man auch per cmd ausführen kann...
  • also obwohls geklärt ist, würde ich doch noch mal gerne meinen senf mit dazu geben^^

    der befehl getch(); ist meiner ansicht nach der anbebrachteste, da es wirklcih "c++" ist und kein windows befehl oder so und er nimmt JEDE taste an, nicht nur die enter taste oder so...

    der include dazu müsste eigentlich conio.h sein

    mfg
    Yoda2003
  • Hmm, also ich bin kein C++-Programmierer aber die Klasse main ist vom Typ "int", was bedeutet das diese Funktion einen Integerwert zurückgeben muss.

    D.h. du musst noch in deinem originalen Quelltext in die main-Funktion ein "return 0;" schreiben.

    Eine andere Möglichkeit ist den Funktionstyp von int zu void zu wechseln, wobei void-Funktionen keine Werte zurückgeben.
    Aber nur int main() ist nach dem ANSI-Standart richtig, d.h. diese Variante ist zu bevorzugen.

    mfg
    Tischler
  • Hmm, naja der Post ist insgesamt etwas nichtssagend, aber schau dir doch einfach mal an, was ich über dir geschrieben habe...

    Das das da oben geht liegt vllt. nur am Compiler, der das mit dem ANSI-Standart nicht so genau nimmt.

    mfg
    Tischler
  • also ich sehe es so, das heinz einfach nicht klar war, das man am besten eine kommandozeile aufmacht und darin arbeitet.

    wenn man von einer ide aus arbeitet und konsolenanwendungen schreibt, hat man immer das problem, das die kommandozeile nach ausführung des programms sofort wieder geschlossen wird. man sieht also kaum was von der ausführung.

    die diversen lösungsansätze erzwingen also eine benutzereingabe, damit die kommandozeile sichtbar bleibt
  • Also ich hätt von mein Proffesorin damals Schläge bekommen wenn ich
    int main
    benutzt hätte ohne etwas zurückzuschicken. ^^

    Ansonst kann ich nur den Hut vor Feuerstein ziehen der in einfachen und trotzdem geradlinigen Sätzen den Nagel auf den Kopf getroffen hat.

    Mfg
    D.G.L.