Problem bei Dev-C++



  • Hab ich auch vorhin bemerkt...
    Aber wenn man <stdlib.h> includiert und als Befehl system("pause") eingibt funktioniert's auch.



  • netz schrieb:

    getch gibts nicht! gehört nicht zum standard

    conio.h



  • Also ich finde getch() unterstützt durch conio.h die einfachste Lösung. Die Compiler, die man tyischerweise verwendet, z.B. MSVC++ oder Dev-C++, unterstützen diese Funktion. Die C++-Standard-Lösung ist IMHO schlichtweg eine Zumutung. 🙄

    <stdlib.h> ist heute übrigens <cstdlib>.
    system("pause") ist o.k., getch() jedoch kürzer und treffender.



  • ich mach´s immer mit

    cin.get()
    

    Dafür braucht man weder eine zusätzliche Headerdatei, noch Variable 🙂



  • @Falky: wenn es sicher funktionieren würde, wäre es die richtige Lösung, macht es aber nicht. Schau mal in die C++ FAQ.



  • Hi Lumbag0!!

    Es ist ganz normal das die Fenster-Konsole sich sofort nach der Anweisung
    schließt. Weil es eine EXE-Datei ist. EXE steht für EXECUTE, und heist auf
    deutsch übersetzt AUSFÜHREN.

    💡 Tipp: Wenn Du dein Programm unter ➡ MS-DOS startest, bleibt dein
    Programm solange offen bis Du das MS-DOS Fenster schließt, oder EXIT
    eingiebst.



  • Erhard Henkes schrieb:

    @Falky: wenn es sicher funktionieren würde, wäre es die richtige Lösung, macht es aber nicht. Schau mal in die C++ FAQ.

    warum nicht einfach eine funktion wait() schreiben?

    void wait()
    {
    cin.clear();
    cin.ignore(cin.rdbuf()->in_avail());
    cin.get();
    }
    


  • Möglichkeit 1:

    #include <iostream>
    void wait() 
    { 
      std::cin.clear(); 
      std::cin.ignore( std::cin.rdbuf()->in_avail() ); 
      std::cin.get(); 
    }
    
    int main()
    {
      //...
      wait();
    }
    

    Möglichkeit 2:

    #include <conio.h>
    int main()
    {
      //...
      getch();
    }
    

    Da ziehe ich Variante 2 vor. Variante 1 ist allerdings portabler.



  • @Shade Of Mine:
    Das erste Programm Deines hervorragenden Tutorials lautet:
    ..
    Du weichst dem Thema in den folgenden Lektionen weiterhin aus.
    Mit getch() habe ich bisher nie Schiffbruch erlitten.



  • @Erhard Henkes

    getch() war auch meine bevorzugte Variante - jetzt teste ich jedoch dec-c++ version 4 und bekomme die Fehlermeldung:
    implicit declaration of function int getchar(...). Bisher habe ich die IDE Borland C++ 4.52 genutzt, ohne, dass dieses Problem auftrat. Die conio.h findet sich auch im entsprechenden Unterverzeichnis des DEV-C++ Ordners.

    Ähnliches passiert bei der Funktion randomize().

    Hier nochmal der verwendete Quellcode:

    #include <iostream>
    #include <conio.h>

    using namespace std;

    //Ein C++-Programm beginnt bei main().
    int main()
    {
    cout << "C++ ist Power-Programmierung.";
    getch();
    return 0;
    }



  • #include <stdio.h>
    #include <conio.h>
    void main()
    {
       clrscr();
       printf("Hello World!");
       getch();
    }
    

    Das dürfte funzen.
    mfg
    TommyFly 😉



  • lol?!

    ich selber benutze Dev C++ und in der schule haben wir den borland builder es funzt bei beiden hiermit:

    #include <iostream.h>
    #include <stdio.h>
    #include <conio.h>
    
    int main()
    {
    cout<<"Hello World";
    
    getchar();  
    return 0;     /*  kann man auch weglassen is aba 
    bessa geproggt dadurch wegen "int main" :) 
    im borland builder geht aber auch void main =P*/
    }
    

Anmelden zum Antworten