C++ Taschenrechner
-
hey ich schließe mich lohminio an, kenn ihn ja persönlich

Wie is mir das nun möglich die rechenoperation in eine zeile zu schreiben sprich : 5+5 = 10 ! das ich string zerlegen muss is klar bloß wie kann das jemand an einem BSP erklären ?!? wäre echt nett
Mein Quelltext:// Taschenrechner
// includes
#include<iostream> // Ein - und Ausgabeoperationen
#include<conio.h> // Funktion 'getch()'using namespace std;
double Addition(double x, double y);
double Subtraktion(double x, double y);
double Multiplikation(double x, double y);
double Division(double x, double y);int main() {
cout << "Taschenrechner" << endl << endl;// 1. Zahl
double zahl_1;
cout << "1. Zahl: ";
cin >> zahl_1;// 2. Zahl
double zahl_2;
cout << "\n2. Zahl: ";
cin >> zahl_2;// Operation
char operation;
cout << "\nOperation ( '+', '-', '*', '/' ): ";
cin >> operation;// Auswertung der Eingabe
double ergebnis = 0;switch(operation) {
case '+' : ergebnis = Addition(zahl_1, zahl_2); break;
case '-' : ergebnis = Subtraktion(zahl_1, zahl_2); break;
case '*' : ergebnis = Multiplikation(zahl_1, zahl_2); break;
case '/' : ergebnis = Division(zahl_1, zahl_2); break;
default : cout << "Ungueltige Eingabe" << endl; break;
}// Anzeigen des Ergebnisses
cout << "\n>> " << ergebnis << endl << endl;// Verhindern, dass sich die Konsole automatisch schließt
getch();
}// Funktionsimplementationen
double Addition(double x, double y) {
double summe = x + y;
return summe;
}double Subtraktion(double x, double y) {
double differenz = x - y;
return differenz;
}double Multiplikation(double x, double y) {
double produkt = x * y;
return produkt;
}double Division(double x, double y) {
double quotient = x / y;
return quotient;
}
-
hehe sowas?
int main(int argc, char* argv[]) { double number1,number2,result; char operator1; cin>>number1>>operator1>>number2; switch(operator1) { case 43: result = number1+number2;break; case 45: result = number1-number2;break; case 42: result = number1*number2;break; case 47: result = number1/number2;break; default: result = 0; } cout<<result; getch(); return 0; }
-
ser1al schrieb:
hehe sowas?
Musst du da nicht die Eingabe jedes 'Tokens' mit Enter bestätigen?
-
DarthZiu schrieb:
ser1al schrieb:
hehe sowas?
Musst du da nicht die Eingabe jedes 'Tokens' mit Enter bestätigen?
nee, allerdings kann man nur 2 zahlen eingeben
-
hey jungs thx erst mal bloß wie wende ich das jetz auf mein quelltext an ? kann das mal jemand beispielsweise in meinen Code einfügen? ich brauch das für morgen und mir gehen die ideen aus und im i-net findet man nix gutes bzw nix was für mich als C++ anfänger verständlich ist!
wäre echt nett jungs ihr rettet mir damit den hals! bis dann
-
???
das beispiel ist doch voll funktionsfähig!
was willst da noch haben?
-
Davon mal abgesehen ist das einzige was anders ist die Eingabe (um die geht es immerhin), das Brimborium drumherum ("Bitte geben sie....") und die Auslagerung der Rechenoperationen in Funktionen. Und ein bisschen selbst denken ist durchaus auch in der Schule erlaubt.
-
das diese funktion mit meinen Prog bzw quelltext zusammen kommt das will ich! will die struktur wenn möglich behalten es soll nun aber so sein das ich nicht gezwungen bin erst 5 einzugeben dies mit enter bestätigen dann die rechenoperation diese widerrum bestätigen mit enter und dann die zahl 2 diese muss ich ja jetz noch mit enter bestätigen! das soll ja alles weg es soll sein das ich alles in eine zeile schreiben kann und er mir dann das ergebnis raushaut das passiert mit der string zerlegung das is klar aber ich bin der total anfänger in c++ bin froh das ich den quelltext für den taschenrechner so hinbekommen habe! und wie muss ich was deklarieren kein plan jungs helft mir weiß nicht weiter mit platzt sonst noch der kopf
ach und muss ich noch was includen ? wenn ja was ?
-
so, aber das das nicht zur gewohnheit wird
#include<iostream> // Ein - und Ausgabeoperationen #include<conio.h> // Funktion 'getch()' using namespace std; double Addition(double x, double y); double Subtraktion(double x, double y); double Multiplikation(double x, double y); double Division(double x, double y); int main() { cout << "Taschenrechner" << endl << endl; //zahlen und operator double zahl_1,zahl_2; char operation; cout<<"Geben Sie nun den zu berechnenden Term ein:"<<endl; cout<<">"; cin>>zahl_1>>operation>>zahl_2; // Auswertung der Eingabe double ergebnis = 0; switch(operation) { case 43 : ergebnis = Addition(zahl_1, zahl_2); break; case 45 : ergebnis = Subtraktion(zahl_1, zahl_2); break; case 42 : ergebnis = Multiplikation(zahl_1, zahl_2); break; case 47 : ergebnis = Division(zahl_1, zahl_2); break; default : cout << "Ungueltige Eingabe" << endl; break; } // Anzeigen des Ergebnisses cout << "\n>> " << ergebnis << endl << endl; // Verhindern, dass sich die Konsole automatisch schließt getch(); } // Funktionsimplementationen double Addition(double x, double y) { double summe = x + y; return summe; } double Subtraktion(double x, double y) { double differenz = x - y; return differenz; } double Multiplikation(double x, double y) { double produkt = x * y; return produkt; } double Division(double x, double y) { double quotient = x / y; return quotient; }
-
jo thx erstnal @ all,
so wie es da ist is das nun mit strings zerlegen gelöst ? oder wie ? weil das nächste prob is wenn ich nun noch ne dritte oder ne vierte zahl habe bsp. klammernrechnung wie soll das dann funktionieren? oder wenn ich mehr als diese 4 rechenoperationen z.B. wurzel potenz usw....
-
wenn du mehr als 2 zahlen brauchst, musst dann eben parsen (zerlegen)
da musst dir dann aber schon langsam mal selber einen kopf machen!