Hallo,
habe bisher einen ganz simplen taschenrechner mit den 4 grundrechenarten (+, -, *, /) programmiert (s.Quellcode). Ich lese einfach 2 Zahlen ein frage den operator ab und gebe das ergebnis aus. Bis hier war das auch für mich als anfänger noch ganz einfach.
Jetzt habe ich die Aufgabe meinen Taschenrechner folgenderm. zu erweitern:
Der Benutzer soll die Möglichkeit haben z.B. folgendes einzugeben: "2+2*5"
Das Programm soll nun einfach die eingegebene Zeile von links nach rechts lesen und das ergebnis ausgeben. In diesem Fall also 20. Rechenregeln wie punkt vor strich oder klammern müssen nicht berücksichtigt werden.
Ich soll also eine Funktion schreiben die eine Textzeile als Parameter hat. Das Ergebnis soll in der Funktion zurückgegeben werden. Ich hoffe ich habe euch mein Problem verständlich gemacht und mir kann jemand weiterhelfen. Ich fürchte ich muss hier mit einem String als Parameter arbeiten.
Leider habe ich im Umgang mit strings noch sehr sehr wenig Erfahrung. Für eure Hilfe wäre ich sehr dankbar.
habe bisher einen ganz simplen taschenrechner mit den 4 grundrechenarten (+, -, *, /) programmiert (s.Quellcode). Ich lese einfach 2 Zahlen ein frage den operator ab und gebe das ergebnis aus. Bis hier war das auch für mich als anfänger noch ganz einfach.
Code:
using namespace std;
int main()
{
int eingabe1;
int eingabe2;
int ergebnis;
char rechenzeichen;
cout<<"Taschenrechner"<<endl;
cout<<"Geben Sie die 1.Zahl ein : ";
cin>>eingabe1;
cout<<"Geben Sie die gewünschte Rechenoperation an (+ - * /): ";
cin>>rechenzeichen;
cout<<"Geben Sie die 2.Zahl ein: ";
cin>>eingabe2;
if (rechenzeichen=='+')
{
ergebnis=eingabe1+eingabe2;
}
else if(rechenzeichen=='-')
{
ergebnis=eingabe1-eingabe2;
}
else if(rechenzeichen=='*')
{
ergebnis=eingabe1*eingabe2;
}
else
{
ergebnis=eingabe1/eingabe2;
}
cout<<"Ergebnis: "<<ergebnis;
return ergebnis;
}
Jetzt habe ich die Aufgabe meinen Taschenrechner folgenderm. zu erweitern:
Der Benutzer soll die Möglichkeit haben z.B. folgendes einzugeben: "2+2*5"
Das Programm soll nun einfach die eingegebene Zeile von links nach rechts lesen und das ergebnis ausgeben. In diesem Fall also 20. Rechenregeln wie punkt vor strich oder klammern müssen nicht berücksichtigt werden.
Ich soll also eine Funktion schreiben die eine Textzeile als Parameter hat. Das Ergebnis soll in der Funktion zurückgegeben werden. Ich hoffe ich habe euch mein Problem verständlich gemacht und mir kann jemand weiterhelfen. Ich fürchte ich muss hier mit einem String als Parameter arbeiten.
Leider habe ich im Umgang mit strings noch sehr sehr wenig Erfahrung. Für eure Hilfe wäre ich sehr dankbar.