Wie nennt man if-Abfragen die in einer Funktion mit drin sind?



  • Das ist kein Spaghetti, sondern ein Syntaxfehler. goto ist kein Ausdruck, kann also insbesondere kein Operand eines ternären Operators sein. Es bleibt einem nur die Möglichkeit, das als if -Anweisung zu formulieren.



  • Danke, eine Lösende Antwort. 🙂

    Also "goto" kann also nicht Teil eines Ternären Operands sein, gut.
    Wie müsste das denn aussehen um den selben Effekt zu ergeben.
    Also im selben Schreibstyle nur halt ohne goto-Anweisung?



  • Bedingung ? Wahrzweig : Falschzweig;
    

    ist gleich mit

    if (Bedingung)
     Wahrzweig;
    else
     Falschzweig
    

    Benutze lieber das do-while. Sonst wird dir von den Nudeln schlecht.



  • Danke dir Dirk, nur da gibt es ein Problem, ich mag Nudeln 😋



  • ender schrieb:

    Also "goto" kann also nicht Teil eines Ternären Operands sein, gut.

    Das entscheidende ist, dass goto eine Anweisung ist und deshalb nicht irgendwo stehen darf, wo ein Ausdruck stehen muss:

    if (goto x) { ... }
    

    geht z.B. auch nicht 😉

    Wie müsste das denn aussehen um den selben Effekt zu ergeben.
    Also im selben Schreibstyle nur halt ohne goto-Anweisung?

    Du willst ja eine Schleife, das geht nicht mit dem ?: Operator.



  • do{
    printf("\n\n\nNochmal?: ");
    scanf("%c", &weiter) weiter == 'j' || weiter == 'n' ? wahr = 1 : wahr = 0, printf("Das ist ungueltig!\n\n");
    }while(wahr == 1);
    

    Kann man bei den Zweigen (Falschzweig & Wahrzweig) 2 Dinge machen lassen?,
    wenn ja -> wie?



    1. Gegenfrage: Warum benutzt du nicht if-else?
    2. ? : ist normalerweise eine Zuweisung.


  • @knivil, weiter oben ist die Erklärung

    Ich finde man sollte alle Schreibstile kennen und Spaghetti gehört eben dazu 😛

    Das heißt man kann in einem Ternären Operand keine Funktionen hernehmen sondern nur Werte zuweisen und ähnliches?



  • do{
    printf("\n\n\n\t\t\tNochmal?: ");
    scanf("%s", &weiter) weiter == 'j' || weiter == 'n' ? wahr = 1 : wahr = 0;
    printf("Das ist ungueltig!\n\n");
    }while(wahr == 1);
    

    Kompiler sagt, das in Zeile 3 ein Fehler ist, nur ich komm einfach nicht drauf.



  • Hinter dem scanf fehlt irgendwas.



  • SG1 schrieb:

    Hinter dem scanf fehlt irgendwas.

    Und zwar Nudeln.

    Das heißt man kann in einem Ternären Operand keine Funktionen hernehmen sondern nur Werte zuweisen und ähnliches?

    Nein.

    Du kennst jetzt Nudelcode, d.h. kannst du jetzt ordentlich arbeiten. Und mal schnell was testen, also Faulheit, ist einschlechter Grund.



  • Ich habe alle Zeichen ausprobiert -> , ; ?
    Hat nichts geholfen

    @kinvil, ganz ehrlich das fängt an echt trollig zu werden.
    Es ist nie falsch auch andere Sichten zu respektieren, aber nicht wenn ich das schon oft genug von dir gelesen habe.

    Es ist außerdem nicht falsch wenn man so etwas kann, dass es nicht gut ist weiß ich, dass hat rein garnichts mit Faulheit zutun. Unterstell mir nichts.



  • Sagen wir es ganz einfach, Ich will es können, mehr ist nicht dahinter.



  • ender schrieb:

    Ich finde man sollte alle Schreibstile kennen und Spaghetti gehört eben dazu 😛

    Spaghetti ist kein Schreibstil, und was du hier machst ist kein Spaghetti, sondern ganz normal schlecht lesbar. Spaghetticode ist verworrener Kontrollfluss.

    Das heißt man kann in einem Ternären Operand keine Funktionen hernehmen sondern nur Werte zuweisen und ähnliches?

    Nein, heißt es nicht. Funktionsaufrufe sind "und ähnliches".

    Ich finde, du solltest erstmal richtig programmieren lernen. Dann kommt der Rest von selbst. Es ist ja nicht so, dass du hier nach irgendwelchen dunklen Geheimnissen und fiesen Tricks fragst, auch wenn dir das vielleicht so vorkommt.



  • Guter Einwand, muss einem ja auch mal gesagt werden!



  • Tja! Habe es dann dochnoch hingekriegt.

    do{
    printf("\n\n\n\t\t\tNochmal?: ");
    scanf("%s", &weiter, weiter == 'j' | weiter == 'n' ? 1 : 0);
    printf("Das ist ungueltig!\n\n");
    }while(wahr == 1);
    


  • :edit ,okay Fast...



  • ganz ehrlich das fängt an echt trollig zu werden.

    Ich bin ein grosser dummer Troll. Ich moechte mit dem Arrsch Nuesse knacken. Weil ich finde, auch diese Seite des Nuesse knackens zu koennen. Leider klappt es nicht. Ich moechte das du mir hilfst. Du musst also auch Nuesse mit dem Arrsch knacken und mir zeigen, wie es geht.

    Nein. Ich finde, Nuesse mit dem Arrsch zu knacken, ist keine Bereicherung fuer irgendwen. Deswegen werde ich dir nicht helfen.

    PS: Arrsch ist absichtlich falsch geschrieben.



  • Erfreue dich an deinem Beitrag und sieh es wie du es willst.
    Ich respektiere deine Meinung, aber derselben bin ich dennoch nicht.



  • Ja, dachte ich mir schon. Nennt sich beratungsresistent, wenn vernuenftige Argumente nicht mehr zwingend sind. Deine aktuellen Probleme wuerden wohl durch strukturierte Programmierung verschwinden.


Anmelden zum Antworten