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-Key: 323251

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

Printed on: April 25, 2024 at 00:04 o'clock

Member: TripleDouble
Solution TripleDouble Dec 08, 2016 at 13:17:56 (UTC)
Goto Top
Hallo,

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

Gruß
Member: pablovic
pablovic Dec 08, 2016 at 14:57:30 (UTC)
Goto Top
Danke, ja hätte ich gleich drauf kommen müssen!