Schleife bricht nicht ab: break;



  • Hallo,
    bin absoluter Anfänger und habe mal ein gaaanz kleines Programm geschrieben:

    http://rafb.net/p/0yUDZP52.html

    Irgendwie bricht die Schleife unten nach der if-Abweisung nicht ab;
    nachdem ich q oder Q eingegeben habe.

    Hat jemand einen Rat?

    Vielen Dank.

    Grüße
    TiDO



  • schau doch mal was in den Variablen drin steht 🙄 (Tipp: nach dem einlesen von n ist noch ein \n im Tastaturbuffer)

    Aber

    1. Benutz bitte keine Pasting-Seiten für Postings, da der Code dort idr nach 24 Stunden gelöscht wird.
    2. Paste immer ein minimales Beispiel
    3. Rücke richtig ein, dann siehst du zB Fehler ala

    while (getchar() != '\n');
    				continue;
    


  • das einrücken kam von der paste seite...bei mir ist es korrekt.
    also muss ich da noch ein
    fflush( stdin); einbauen?



  • TiDO schrieb:

    das einrücken kam von der paste seite...bei mir ist es korrekt.

    Ein Grund mehr, die nicht zu benutzen - das Forum unterstützt Syntax-Highlighting (sfds), da kannst du deine Quelltexte direkt hier reinpacken (und solange sie nicht zu lang werden, lesen wir die auch).

    also muss ich da noch ein
    fflush( stdin); einbauen?

    Blos nicht - eine while(getchar()!='\n'); Schleife ist günstiger.

    btw - ein 'continue;' als letzte Anweisung einer Schleife ist reichlich sinnlos 😃 - und anstelle der "if(...)break;"-Konstruktion hätte ich auch einen normalen Schleifenabbruch verwendet.



  • für was brauchst du eig die do-while schleifen
    wenn ich das richtig seh benötigst du diese eig nicht
    wenn ich mich irre dann klärt mich auf


Anmelden zum Antworten