1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

programm wird geschlossen

Discussion in 'Programmieren' started by Julez123, Feb 26, 2008.

Thread Status:
Not open for further replies.
  1. Julez123

    Julez123 Byte

    Ich versuch mir gerade mithilfe eines C Buches die Programmiersprache beizubringen. Bloß hab ich ein Problem ich schreibe ein Programm wandle es mit einem Compiler um und nach dem Ausführen, kommt das schwarze Fenster aber verschwindet sofort. Das Programm funktioniert zwar aber man sieht halt nix, weil das zu schnell wieder geschlossen wird, kann man irgendwas dagegen machen?

    danke im vorraus

    mfg julez
     
  2. RealC++

    RealC++ Kbyte

    Du fügst am Ende diese Zeile in deinen Code ein:
    getchar();
     
  3. Julez123

    Julez123 Byte

    lol so einfach danke ! irgendwie komisch man soll testen ob die programme gehen aber wenns gleich wieder geschlossen ist gehts ja schlecht!^^ und im Buch steht auch nix THX
     
  4. RealC++

    RealC++ Kbyte

    Wenn man ein Konsolenprogramm auch tatsächlich aus der Konsole öffnet, hat man dieses Problem mit dem Schliessen nicht.-Die Konsole bleibt dann offen.
    Offenbar wird in dem Buch einfach davon ausgegangen, dass du diese Spezialität von Konsolenprogrammen halt bereits kennst.

    P.S.: Was hast du denn für ein Buch, wie heisst's?
     
  5. Julez123

    Julez123 Byte

    Das Buch heißt C Programmieren von Anfang an von Helmut Erlenkötter

    Naja vielleicht mach ich ein Fehler, ich tipp das Programm bei Dev-C++ (Compiler) ein, anschließen geh ich auf Kompilieren+Ausführen, dann wird das Programm erstellt naja und dann wirds halt immer geschlossen ohne getchar().
     
  6. Ich hab auch mal Dev-C++ verwendet.
    Ich lerne aber C++ mit dem Buch: Einstieg in C++
    Hab aber auch das Buch, dass du hast. War mir aber zu blöd mit dem printf. Ist in C++ viel leichter, da gibts "cin" (Eingabe) und
    "cout" (Ausgabe).
    In meinem Buch steht drin, dass man am Ende noch eine Klammer auf machen muss (bevor man die main() Klammer schließt) und dann folgendes reinschreibt:
    {
    system("PAUSE");
    return 0;
    }

    Teste das mal!
     
  7. RealC++

    RealC++ Kbyte

    Die Funktion system() ist aus dem Standard-Header stdlib.h (resp. in C++ cstdlib), welcher ergo auch zusätzlich eingebunden wird, was das Programm unnötig aufbläht. Ausserdem ist PAUSE ein DOS-Befehl und es ist deshalb nicht garantiert, dass diese Variante auch unter einem anderen Betriebssystem läuft.

    P.S.: Wenn du tatsächlich in C++ programmierst, kannst du dir das return sparen, diese Zeile ist nicht nötig.
    Die C++-Entsprechung von getchar() ist übrigens std::cin.get()
     
  8. Danke.
    Bei mir funktioniert der Befehl "Pause" bei Win Vista und XP. Ältere Betriebssysteme hab ich nicht.
     
  9. RealC++

    RealC++ Kbyte

    Auf Microsoft-Systemen wird das wohl immer funktionieren.
    Es muss aber nicht sein das z. B. Leopard von Apple auch etwas mit PAUSE anfangen kann.
     
  10. Aso das meinst du.
     
  11. Sourd

    Sourd Byte

    Hey Leute,

    Es besteht folgendes Problem: Ich habe den Microsoft Visual C++ 2008 Express Edition habe ein Programm geschrieben das Celsius in Fahrenheit umwandelt. Jetzt will ich das aber Debuggen. Das Problem daran ist sobald ich den Wert eingebe wird das Fenster sofort geschlossen. Wenn ich aber starten ohne Debuggen mache funktioniert das.

    Hat jemand ne idee?

    Wäre euch allen sehr dankbar.
     
  12. RealC++

    RealC++ Kbyte

    Füge einmal vor getchar, std::cin.get() oder was auch immer ein fflush(stdin) ein.
     
  13. Sourd

    Sourd Byte

    boar vielen dank hat funktioniert.

    mfg Sourd
     
  14. rak

    rak Byte

    @ RealC++
    Hallo RealC++!
    Nach drei Jahren wandte ich mich an C++ wieder und bin erstaunt über allerlei Neuigkeiten: im Quelltext: system("PAUSE"); oder int main(void) und vor allem getchar(), um das Konsolenfenster anzuzeigen.
    Früher habe ich das MS Visual C++ als Programm benutzt und alle meine kleinen Übungsprogramme funktionierten ohne die o.g. Schreibweise, und die Konsole wurde angezeigt, ohne zu verschwinden und ohne extra getchar().
    Warum muss in einem File mit reiner Ausgabe (printf) diese unformatierte Eingabe-Routine getchar() (so bei Gerhard Willms, C++) angegeben werden??

    Wie ist das zu erklären?

    Jetzt benutze ich DEV-C -Umgebung und merke, daß drin einiges von alten cpp-Files nicht gehen. Liegt es vielleicht an der Umgebung und an dem Programm Dev-C ?

    Danke im voraus
    Gruß
    rak
     
Thread Status:
Not open for further replies.

Share This Page