selbstprogrammierter rechner funktioniert nicht
-
Bei einer Einleitung in C++ kam die Aufgabe mithilfe einer klasse einen Taschenrechner zu erstellen, welcher 2 Zahlen addiert, subtrahiert, multipliziert oder dividiert.Dazu habe ich diese Klasse erstellt:
class taschenrechner { public: int lösung; int a; //erste Zahl char b; //Rechenoperator int c; //zweite Zahl void rechnen(int a, char b, int c) //Funktion zur Berechnung { if (b = '+') { lösung = a + c; } if (b = '-') { lösung = a - c; } if (b = '*') { lösung = a * c; } if (b = '/') { lösung = a / c; } } };
Nun habe ich versucht es auszugeben:
#include <iostream> using namespace std; #include "taschenrechner.h" int main() { taschenrechner tr; cout << "Geben Sie die auszuführende Rechenoperation ein:"; cin >> tr.a; cin >> tr.b; cin >> tr.c; tr.rechnen(tr.a, tr.b, tr.c); cout << "Ihre Lösung ist:" << tr.lösung; return 0; }
Mein Problem ist, dass die if überprüfung von b in tr.rechnen nicht funktioniert.
Meine Frage wäre nun, was ich dort falsch gemacht habe.
-
Hi,
"funktioniert nicht" ist keine schöne Fehlerbeschreibung
Aber schau dir mal den Unterschied an, wie man einer Variable Werte zuweist und wie man sie wieder vergleicht.
-
Hallo,
schau dir den Unterschied zwischen
=
und==
an. Was machen die Zeilen 12, 16, 20 und 24 also in Wirklichkeit?
Ferner musst du a, b und c nicht als Parameter übergeben, denn auf diese kannst du ohnehin zugreifen, da rechnen eineMethode
(eine Member-Funktion) ist.LG
-
Vielen Dank für eure Hilfe. Jestzt funktioniert es problemlos.
-
Toll
-
nq30 schrieb:
(Bitte "[gelöst]" an den Titel anhängen)
Bitte nicht jeden Thread mit falschen oder unnötigen Kommentaren versehen!
-
Warum speicherst du die Werte in Membervariablen, um diese dann an die Memberfunktion als Parameter zu übergeben?