Warum funktioniert der Code nicht?

Hallo,

ich hab einen einfachen Rechner mit zwei Funktionen programmiert, er soll bei „+“ nur die Addieren Funktion ausführen, was er auch tut, und bei „-“ nur die Subtrahieren Funktion ausführen. Aber da führt er beide aus… kann mir da jemand helfen?

Gleich im Vorhinein: Bin noch ziemlicher Anfänger :wink:

Danke & Lg

Hier der code:

*************************

#include 
#include 
using namespace std;

//Funktionen

double addieren(double zahladdieren1, double zahladdieren2);
double subtrahieren (double zahlsubtrahieren1, double zahlsubtrahieren2);



int main()

{
 cout \> zahl1;
 cin \>\> rechenzeichen;
 cin \>\> zahl2;

 if (rechenzeichen == '+')
 {
 addieren (zahl1, zahl2);
 }

 else if (rechenzeichen == '-')
 {
 subtrahieren(zahl1, zahl2);
 }


 else
 {
 cout 

_[MOD]: PRE-Tags hinzugefügt, bitte in Zukunft selbst machen!_

Also die If-Else-Anweisungen würd ich durch ein switch ersetzen, also in etwa so:

switch (rechenzeichen)

case '+':
 addieren(...);
 break;

case '-': 
 subtrahieren(...);
 break;

default:
 cout

Ich kann dir nichts versprechen aber mMn. sollte das funktionieren

viel Erfolg
Andy

Hallo,

ich hab einen einfachen Rechner mit zwei Funktionen
programmiert, er soll bei „+“ nur die Addieren Funktion
ausführen, was er auch tut, und bei „-“ nur die Subtrahieren
Funktion ausführen. Aber da führt er beide aus… kann mir da
jemand helfen?

Gleich im Vorhinein: Bin noch ziemlicher Anfänger :wink:

OK, ist schon fast richtig. Du mußt halt nur die
Ergebnisse der Berechnungen in den if-
Blöcken verwenden, also etwa so:

...

 int main()
{
 cout \> zahl1 \>\> rechenzeichen \>\> zahl2;

 if(rechenzeichen == '+') {
 double zahl\_zum\_ausgeben = addieren(zahl1, zahl2);
 cout 


Grüße

CMБ

Debugger

Hallo,

ich hab einen einfachen Rechner mit zwei Funktionen
programmiert, er soll bei „+“ nur die Addieren Funktion
ausführen, was er auch tut, und bei „-“ nur die Subtrahieren
Funktion ausführen. Aber da führt er beide aus… kann mir da
jemand helfen?

Hallo,

um Dein Verständnis für den Kontrollfluss in einem Programm zu verbessern, würd ich Dir empfehlen, einen Debugger zu verwenden und durchzusteppen.

z.B ist in Microsoft Visual Studio Express (ist kostenlos)
ein Debugger integriert.

Nach dem Starten von Visual Studio:
Neues Projekt -> Konsolenanwendung
Deinen Code hineinkopieren und alle Compiler-fehler beseitigen.
F10 drücken.
Mit jedem Drücken von F10 wird eine Zeile des Programms ausgeführt.
F11 stept in Unterfunktionen hinein.

Falls es nicht klappt, kannst Du Dich ja nochmal melden.

Grüße
Thorsten