C++ + - * / als einer variable zuweisen?

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];
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

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?


frageloewe123 
Fragesteller
 28.02.2022, 23:22

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.

0
Zahhak  28.02.2022, 23:25
@frageloewe123

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) /
>

?

0
Zahhak  28.02.2022, 23:29
@frageloewe123

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.

1