pablovic
Goto Top

IF Abfrage funktioniert nicht mehr

Hallo

Ich habe eine Frage zu einem, zu Übungszwecken, geschriebenen Programm und zwar handelt es sich um einen Rechenprogramm, dass zwei Brüche verrechnen kann.
Dazu muss ich ja einiges Abfragen und Steuern, ist es eine Multiplikation oder Addition.
Jetzt habe ich mich für das Steuern für Switch entschieden und fange so Multiplikation und Division ab.
Danach ist klar gibt es nur noch Addition und Subtraktion, dh. ich muss erweitern, das mache ich im default.
Und jetzt hab ich nach dem ganzen switch eine IF Abfrage auf + oder -, jedoch werden die irgendwie beide durchgearbeitet und ich kriege zwei Ergebnisse. Und das verstehe ich nicht.

Entwickelt auf LinuxMint mit Geany und gcc, wenn ich mal darf:

#include <iostream>
using namespace std;

int main()
{
cout<<"Bruch Rechner 0.1"<<endl;  

int zaehler1, zaehler2, zaehler1a, zaehler2a, zaehlerresult;
int nenner1, nenner2, nenner1a, nenner2a, nennerresult;
char operand;

cout <<"Bitte 1. Zähler eingeben" <<endl;  
cin >> zaehler1;
cout <<"Bitte 1. Nenner eingeben" <<endl;  
cin >> nenner1;
cout <<"Bitte 2. Zähler eingeben" <<endl;  
cin >> zaehler2;
cout <<"Bitte 2. Nenner eingeben" <<endl;  
cin >> nenner2;
cout <<"Bitte operand eingeben" << endl;  
cin >> operand;

switch (operand)
{
	case '*':  
	zaehlerresult = zaehler1 * zaehler2;
	nennerresult = nenner1 * nenner2;
	cout << zaehlerresult <<"/"<<nennerresult<<endl;  
	cout <<"hallo1";  
	break;
	
	case '/':  
	zaehlerresult = zaehler1 * nenner2;
	nennerresult = nenner1 * zaehler1;
	cout << zaehlerresult <<"/"<<nennerresult<<endl;  
	cout <<"hallo2";  
	break;
	
	default:
	zaehler1a = zaehler1 * nenner2;
	nenner1a = nenner1 * nenner2;
	zaehler2a = zaehler2 * nenner1;
	nenner2a = nenner2 * nenner1;
	cout <<"hallo3";  
}

if (operand = '+'){  
	zaehlerresult = zaehler1a + zaehler2a;
	nennerresult = nenner1a;
	cout << zaehlerresult <<"/"<<nennerresult;  
	cout <<"hallo4";  
}
if (operand = '-'){  
	zaehlerresult = zaehler1a - zaehler2a;
	nennerresult = nenner1a;
	cout << zaehlerresult <<"/"<<nennerresult;  
	cout <<"hallo5";  
}


return 0;
}

Ergebnis

Bruch Rechner 0.1
Bitte 1. Zähler eingeben
2
Bitte 1. Nenner eingeben
7
Bitte 2. Zähler eingeben
3
Bitte 2. Nenner eingeben
5
Bitte operand eingeben
-
hallo331/35hallo4-11/35hallo5

Ich verstehe nicht, warum die letzte if Abfrage nicht greift, hat da jemand eine Idee?

Danke und Gruss
p

Content-ID: 323251

Url: https://administrator.de/contentid/323251

Ausgedruckt am: 04.11.2024 um 18:11 Uhr

TripleDouble
Lösung TripleDouble 08.12.2016 um 14:17:56 Uhr
Goto Top
Hallo,

Du benutzt für den Vergleich den Operator '='. Versuch mal '=='.

Gruß
pablovic
pablovic 08.12.2016 um 15:57:30 Uhr
Goto Top
Danke, ja hätte ich gleich drauf kommen müssen!