Konsolen Anwendung: Benutzer fragen (Ja oder Nein)



  • Naja, da gäbe es noch g**o, aber das ist in den meisten Fällen überflüssig und gilt als schlechter Programmierstil 😉



  • und gehört nicht in die hände von anfängern 😉



  • mikey schrieb:

    Naja, da gäbe es noch g**o, aber das ist in den meisten Fällen überflüssig und gilt als schlechter Programmierstil 😉

    Das habe ich mir gerade mal angesehen. Es ist eigentlich genau das wonach ich gesucht habe. Aber was ist daran so schlecht? 😕



  • mit goto wird der code schnell unübersichtlich.



  • Thundereye schrieb:

    mit goto wird der code schnell unübersichtlich.

    Naja, ich brauche ja nur eins davon. 🙂



  • Verzweifter Neuling 😞 schrieb:

    Achso, ich dachte es gibt da vielleicht etwas komfortableres aber danke! 🙂

    Was soll an einer Schleife denn unkomfortabel sein? Ich denke das ist wesentlich komfortabler als ein goto und viel übersichtlicher auf jeden Fall.



  • Verzweifter Neuling 😞 schrieb:

    Achso, ich dachte es gibt da vielleicht etwas komfortableres aber danke! 🙂

    Schleifen sind komfortabel 😃 Die einzige Steiergung (gerade wenn du solche Abfragen häufiger durchführen willst) ist es wohl, das ganze (inklusive der Schleife) in eine eigene Funktion auszulagern.



  • wenn man kontrollfluß und ein-/ausgaben strikt trennt, sind schleifen übersichtlich und komfortabel. wenn natürlich in deinem schleifenkörper 500 zeilen code stehen, weil alles monolithisch an ort und stelle steht, dann kann ne schleife schon unübersichtlich werden.



  • Das ändert aber nichts daran, daß sie um Längen besser sind als g*** (und wer solche monolithischen "Super"funktionen schreibt, ist sowieso nicht mehr zu retten).



  • goto sollte man sich üüüberhaupt nicht angewöhnen. In C++ braucht man es nicht. Der Befehl ist überhaupt nur da um da zu sein, nicht um ihn zu benutzen. Zu einer Programmiersprache gehört einfach die Möglichkeit des goto, aber wo es irgendwie geht, sollte man besseren Möglichkeiten nutzen, die angeboten werden. Das sind für diese Anwendung Schleifen. So wird der Code einfach übersichtlicher und nachvollziehbarer:

    Mal ein Beispiel zum Vergleich. Die Schleifenversion bildet einen schönen Block um den Code, der wiederholt werden soll. Bei der goto-Version wird einfach wild im Code rumgesprungen. Da sieht man dann nicht direkt, dass es sich faktisch um eine Schleife handelt.

    // Spaghetticode:
    
    int counter = 0;
    loop: ++counter;
    cout << counter;
    if (counter < 5) goto loop;
    
    // Schleife:
    
    int counter = 0;
    
    while (counter < 5)
    {
        ++counter;
        cout << counter;
    }
    


  • CStoll schrieb:

    Das ändert aber nichts daran, daß sie um Längen besser sind als g*** (und wer solche monolithischen "Super"funktionen schreibt, ist sowieso nicht mehr zu retten).

    glaub du hast mich falsch verstanden, aber macht nix 😃



  • Wie sollte ich dich denn verstehen?

    thordk schrieb:

    wenn natürlich in deinem schleifenkörper 500 zeilen code stehen, weil alles monolithisch an ort und stelle steht, dann kann ne schleife schon unübersichtlich werden.

    So ein Anweisungsblock ist schon von sich aus unübersichtlich, da kann die Schleife drumherum auch nichts mehr daran verbessern. (aber selbt bei einem solchen Block ist eine Schleife übersichtlicher als ein 'goto begin;')



  • ich habe nirgendwo erwähnt, dass monolithische blocks toll sind oder goto chic. ganz im gegenteil, aber genau das hast du da reininterpretiert. das war mit "glaub du hast mich falsch verstanden" gemeint 😉



  • Sorry, aber deine Aussage klang so, als ob die Schleife den monolithischen Block unübersichtlich machen würde 😉


Anmelden zum Antworten