Hey Leute ich habe die Aufgabe einen Taschenrechner zu Coden, bei dem eine Eingabe in einer Zeile erfolgen soll. Hierzu haben ich verschiedene Operationen wie z.B. add, sub usw.
Nun soll über die Konsole zuerst die gewünschte Operation und dann jeweils mit Leerzeichen getrennt die verschiedenen Zahlen eingegeben werden. Es soll also eine variable Parameterliste sein und die Argumente sollen einzeln ansprechbar sein.
Bsp:
Konsoleneingabe: add 5 6 1 2 // Ergebnisanzeige: 14
Konsoleneingabe: sub 7-9 // Ergebnisanzeige: -2
Zudem soll noch eine Speichern-Operation integriert werden, die ähnlich aufgebaut ist
Konsoleneingabe: save a 8
Konsoleneingabe: save b 2
Konsoleneingabe: mul $a $b // Ergebnisanzeige: 16
Nun meine Frage? Wie realisiere ich diese VARIABLE Parametereingabe?
Mein Ansatz ist folgender:
Ist das überhaupt richtig, dass ich bei der berechnen Funktion 2 Parameter habe, oder kann ich das nur mit einer Parameterliste realisieren, da ich ja alles zusammen und hintereinander in die Konsole eingebe. Muss ich dann das erste Feldelement, in dem z.B. add steht nehmen und somit feld[0] als Operator wählen oder wie gehe ich vor?
Ich stehe gerade etwas auf dem Schlauch!?
Nun soll über die Konsole zuerst die gewünschte Operation und dann jeweils mit Leerzeichen getrennt die verschiedenen Zahlen eingegeben werden. Es soll also eine variable Parameterliste sein und die Argumente sollen einzeln ansprechbar sein.
Bsp:
Konsoleneingabe: add 5 6 1 2 // Ergebnisanzeige: 14
Konsoleneingabe: sub 7-9 // Ergebnisanzeige: -2
Zudem soll noch eine Speichern-Operation integriert werden, die ähnlich aufgebaut ist
Konsoleneingabe: save a 8
Konsoleneingabe: save b 2
Konsoleneingabe: mul $a $b // Ergebnisanzeige: 16
Nun meine Frage? Wie realisiere ich diese VARIABLE Parametereingabe?
Mein Ansatz ist folgender:
C++:
int berechnung (char operation, int* feld)
{
int erg;
int laenge = feld.length;
/* Das ich als ersten Parameter die Operation übergebe (add, sub....)
und als zeiten Parameter das Feld mit den jeweiligen Werten */
if(operation=='add')
{
for(int i =0; i<=laenge; i++)
erg+=feld[i];
}
return erg;
}
Ist das überhaupt richtig, dass ich bei der berechnen Funktion 2 Parameter habe, oder kann ich das nur mit einer Parameterliste realisieren, da ich ja alles zusammen und hintereinander in die Konsole eingebe. Muss ich dann das erste Feldelement, in dem z.B. add steht nehmen und somit feld[0] als Operator wählen oder wie gehe ich vor?
Ich stehe gerade etwas auf dem Schlauch!?