Wie nennt man if-Abfragen die in einer Funktion mit drin sind?
-
do { scanf("%s", &weiter); } while (weiter != 'j' && weiter != 'n');
-
do { scanf("%c", &weiter); /* kein %s hier, sind nur Zeichen*/ } while (weiter != 'j' && weiter != 'n');
-
ender schrieb:
Und zwar im "Spaghetti Style" wenn ich bitten darf
Wieso ?
@maccaroni
Er will Spaghetti Code !
-
*edit
Alles klar !
Gruss Sheldor
-
Will haben Spaghetti code bittö
Rein aus dem Grund, falls man mal was schnell ausprobieren will, z.B.
eine Funktion, in der eine kleine Abfrage sein soll, damit das schnell geht.@Sheldor, weiter unten im Programm "würde" dann die Abfrage kommen ob nun 'j' oder 'n' eingegeben wurde.
Hier wird lediglich geprüft, wurde überhaupt eines der zugelassenen Zeichen eingegeben.
-
:edit Hups, sorry Sheldor...war wohl zu langsam
-
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 alsif
-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?
-
- Gegenfrage: Warum benutzt du nicht if-else?
- ? : 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.