Konsole schließt sich trotz [...] cin.get();



  • .m schrieb:

    ...

    Dev-C++ wird schon lange nicht mehr weiterentwickelt. Ich würde dir dringend raten einen aktuellen Compiler heranzuziehen.



  • Dev-C++ wird schon lange nicht mehr weiterentwickelt. Ich würde dir dringend raten einen aktuellen Compiler heranzuziehen.

    Sollte aber für Win32-Konsolenanwendungen reichen. Einer der aktuellsten Compiler ist Visual Studio 2008.



  • Sorry wenn jetzt der Eindruck entseht, dass ich eure Hilfe nicht schätze, aber: das mit Dev-C++ und Co wusste ich schon.
    Bevor wir noch ein bisschen am Thema vorbeireden, würde ich einfach vorschlagen, ich erkläre den Thread für gelöst.
    *
    Wenn mir einer erklären könnte (und bitte nur dann 😉 ), wieso ich bei diesem Code noch zusätzlich ein cin.sync() brauche (wenn ich cin.get() nutzen will), dann wäre es nett, wenn er/sie das noch schreiben könnte.*

    Ansonsten vielen Dank für eure Hilfe!



  • Probier mal das :

    #include <iostream>
    #include <windows.h>
    #include <conio.h>
    #include <stdlib.h>
    using namespace std;
    
    int main(void) {
    	int zahl = 99999 ;
    	for (int x=0 ; x<zahl; x++) {
        int tonhoehe;
        int dauer = 11;
        int runden = 30 ;
        cout << "Welche Tonhoehe (MHz) soll ausgegeben werden? ";
        cin >> tonhoehe;
    	cout << endl;
    
        cout << endl << "PLAY";
    	for (int i=0; i<runden; i++) {
        Beep(tonhoehe, dauer);
    	}
        cout << " - STOP";
    	system ("cls") ;
    }
    }
    

    Der ton wird jetzt auch länger gespielt



  • .m schrieb:

    Wenn mir einer erklären könnte (und bitte nur dann 😉 ), wieso

    😞



  • geht der Code überhaupt ??



  • geht der Code überhaupt ??

    Lustiger Vogel, anscheinend kopiert he ?
    Lies dir mal den Thread durch, könnt ich übrigens auch nochmal machen :-).



  • Nein , vorher Bearbeitet und getestet !!!!! 😉 Wirklich !! 😃
    Im Ernst , habe lediglich ein paar sachen entfernt oder hinzugefügt , ist aber immernoch das selbe wie vorher ( vom sinn her ) ! 🙂



  • Die Lösung ist übrigens schlicht und ergreifend

    cin.clear();
    cin.ignore(numeric_limits<streamsize>::max(), '\n');
    cin.get();
    

    Warum die andere Lösung klappen kann aber nicht muss (laut Standard) wurde oft genug besprochen, deshalb keine Quellen.



  • BTW, mag jemand diesbezüglich mal die FAQ anpassen?


Anmelden zum Antworten