C++ + - * / als einer variable zuweisen?
Kann man in C++ + - * / einer Variable zuweisen?
z.B. 1 soll + sein, 2 = -, 3 = * und / = 4
Ist das möglich und wenn ja wie?
3 Antworten
Nein, da brauchst du ein if-else oder ein switch. Ich würd‘s so machen:
if (x==1) return a + b;
else if (x==2) return a - b;
else if (x==3) return a * b;
else if (x==4) return a / b;
Oder du kürzt es so ab, aber das macht jedesmal ein paar unnötige Berechnungen:
return std::array<int,4>{a+b,a-b,a*b,a/b}[x-1];
laut EVA prinzip ja
Eingabe = "1" , "2" ,"3" ,"4"
Verarbeitung =( "1" => "+" , "2"=>" -" , "3" => "*" , "4" => "/" ) => evaluieren => ergebnis
Ausgabe = ergebnis
Das klingt nach einem XY-Problem.
Worum geht es tatsächlich?
Das ergibt immer noch nicht viel Sinn...
Meinst du eine Eingabeaufforderung an den Benutzer wie
Wähle die gewünschte Operation:
1) +
2) -
3) *
4) /
>
?
Dann wäre ein switch-case-Block wohl das passendste.
Optimalerweise noch mit einer Behandlung des default-Falls um eine Meldung der Art "MÖP! Ungültige Eingabe." auszugeben und die Frage zu wiederholen.
Quasi einfach ein Taschenrechner. Anstatt die fälle von +, -, * und / in ein if else if zu packen, würde ich gerne +, -, * und / Werten zuweisen. 1 um zu addieren, 2 zum Subtrahieren, 3 zum multiplizieren und 4 zum dividieren.