Dos-Fenster blinkt nur kurz auf



  • also ich persönlich hätte am Schluss was geändert ...

    #include <iostream.h>
    using namespace std;
    
    int main()
    {
    
    int zahl;
    cout << "Bitte geben Sie eine Zahl ein. " ;
    cin >> zahl ;
    cout << "Sie haben die Zahl " << zahl << " eingegeben." << endl;
    system("pause");
    
    }
    

    es geht meineserachtens nur system("pause") ; die anderen methoden mit cin.get(); o.ä. gehen auch nicht ... wundert mich wieso ... ich hab auchmal mit sowas angefangen ... aber an so ein "problem" kann ich micht nicht erinnern 😕 ... aber system sollte nicht zur angewohnheit werden ... wieso ? siehe weiter unten bei den Themen hier ...

    mfg 🙂



  • Was meinst du mit "cin.get() o.ä. gehen auch nicht"? Klar gehen die!



  • gut dann teste das mal ... setz anstatt system("pause") ; mal das cin.get(); ein ... bei mir ging das NICHT !!!



  • Dann musst du wohl vorher den Eingabepuffer leeren. Mit VS-Compiler kannst du dafür fflush(stdin) benutzen. Es gibt aber bessere (standardkonforme) Methoden dafür (=> Forumssuche).

    EDIT: Binde besser <iostream> ein, nicht <iostream.h>.



  • meinstens stehen keine includes bei mir oben ... ich benutze den Bloodshev Dev-C++ Compiler ( echt gut ) ... und da is des egal ob ich ein .h oder nix nach iostream oder garkein iostream hinschreibe ... aber wie leere ich diesen eingabepuffer nochmal ?



  • Über die Forensuche gefunden:

    void ignore(void) { //Eingabepuffer leeren
      int c; 
      while ( (c=getchar()) != '\n' && c != EOF); 
    }
    

    Nur eine Möglichkeit...



  • bevor ich meine lösung bringe, möchte ich noch sagen dass das hier wohl die dämlichste lösung is, aber ich mir des halt durch experimentieren so angewöhnt habe. sollte man nur benutzen wenn man das programm testet, aber niemals im release, denn das is echt sau umständlich auch für die bedienung:

    ich lasse einfach noch eine eingabe abfragen durch cin und auf einen string speichern

    string meinString;
    cin >> meinString;
    //programm endet nach eingabe + enter
    

    alex



  • Da musst du aber noch irgendwas eingeben. Einfach Enter drücken reicht nicht. Ist also wirklich nicht so optimal... 🙂



  • Also ich nehme immer system("PAUSE"); oder

    int schrott;
    cout << "Wird Beendet.\n";
    std::cin >> schrott;
    


  • Mit

    for(;;);
    

    geht's auch.


Anmelden zum Antworten