if-Schleife beim Taschenrechner

indylein

Grünschnabel
Hallo,


ich habe heute etwas mit C++ angefangen und hab einen Taschenrechner gecodet, der auch funktioniert hat.

Ich hab eine if-Schleife eingebaut, um die Auswahl zwischen Addition und Subtraktion zu ermöglichen, aber egal was ich eingebe, es werden immer beide Ergebnisse ausgegeben.


Kann mir jemand sagen, was ich falsch gemacht habe?


Code:
 #include <iostream>
 
 using namespace std;
 
 int main()
 {
 	int schluss;
 	long double zahl1, zahl2, wahl;
 
 	const float addition=1;
 	const float subtraktion=2;
 
 	cout << "Das hier ist ein Taschenrechner" << endl;
 	cout << "Er kann zwei Zahlen addieren!" << endl;
 	cout << " " << endl;
 	cout << "Geben sie die erste Zahl ein!" << endl;
 
 	cout << "[Zahl 1]: ";
 	cin >> zahl1;
 
 	cout << " " << endl;
 	cout << " " << endl;
 
 	cout << "Geben sie die zweite Zahl ein!" << endl;
 
 	cout << "[Zahl 2]: ";
 	cin >> zahl2;
 
 	cout << " " << endl;
 	cout << " " << endl;
 
 	cout << "Wollen sie addieren oder subtrahieren?" << endl;
 	cout << " " << endl;
 
 	cout << "[1]: Addition" << endl;
 	cout << "[2]: Subtraktion" << endl;
 	cout << " " << endl;
 	cout << "Bitte jetzt eingeben: ";
 	cin >> wahl;
 
 	if(wahl=subtraktion)
 	{
 	   cout << zahl1 << "-" << zahl2 << "=" << zahl1-zahl2 << endl;
 	}
 
 	if(wahl=addition)
 	{
 	   cout << zahl1 << "+" << zahl2 << "=" << zahl1+zahl2 << endl;
 	}
 
 	cin >> schluss;
 
 	return 0;
 
 }


Danke schonmal,


MfG
 
moin


Es gibt keine if-Schleifen!

wahl==subtraktion bzw. wahl==addition muss es heissen.


Edit:
Es wäre besser wenn du für sowas ne switch-Anweisung nimmst. Nur so nebenbei.


mfg
umbrasaxum
 
Vielleicht verstehe ich gerade was nicht, aber wenn ich das richtig sehe dann ist wahl long double und du vergleichst deine long double Variable mit
substraktion
Wie soll das gehen?
 
Tutankhseth hat gesagt.:
Vielleicht verstehe ich gerade was nicht, aber wenn ich das richtig sehe dann ist wahl long double und du vergleichst deine long double Variable mit
substraktion
Wie soll das gehen?

das hat er schon richtig gemacht, wenn auch etwas komisch gelöst.

Der Fehler lag wie umbrasaxum schon meinte bei der if Abfrage.
Bei wahl = subtraktion bzw. wahl = addition weißt du wahl einen Wert zu...
Für die Abfrage müssens zwei "==" sein.

Gruß
paddy
 
moin


Ja er vergleicht eine long double Variable mit der Variable subtraktion. Das ist aber nicht weiter schlimm.

Das Problwm ist das er eben nicht vergleicht sondern einen Wert übergibt, aber hab ich ja schon beschrieben.


mfg
umbrasaxum
 
flaot werte schreibt man besser 1.0 statt 1. Ich würde aber ein char nehmen und diesen mit einer Switch-Anweisung vergleichen.
 

Neue Beiträge

Zurück