ich brauche hilfe bei meinem c++ code. einfach in die kommis schreiben ich schick den code rein wieso zeigt er kein "Falsch!" an?

...komplette Frage anzeigen

2 Antworten

So - jetzt hammers. Musst erst mal mein CodeBlocks ausbuddeln.
Wäre aber gar nicht nötig gewesen. Den Fehler seh ich doch gleich:

Dein Code:

float zahl1;
cout << "\n\n 5+5" << endl<< "Ergebnis: ";
cin >> zahl1;
if (5 + 5)
{cout << "Richtig!";}
else
{cout << "Falsch!";}

Der Fehler ist:

if (5+5)

liefert immer WAHR, weil c++ an dieser Stelle einen Boolean Wert braucht und deshalb eine Typecast macht.
Jede Integer Zahl, die ungleich null ist, liefert WAHR, wenn sie mit IF abgefragt wird. Außerdem fragst du ja gar nicht das Ergebnis der vorherigen Eingabe ab sondern die Konstante 5+5. Der Compiler ersetzt hier die Abfrage sogar durch eine unbedingte Anweisung, weil es ja nichts zu entscheiden gibt.

Richtig wäre:

if (zahl1 == 10)

Macht:

float zahl1;
cout << "\n\n 5+5" << endl<< "Ergebnis: ";
cin >> zahl1;
if (zahl1 == 10)
{cout << "Richtig!";}
else
{cout << "Falsch!";}

Habs gleich mal getestet - haut jetzt hin:

So gehts - (programmieren, Informatik, CPP)

Ich geb dir noch 15 Minuten für den Code. Danach mach ich Feierabend und werf den Grill im Garten an ;-)

hab ihn gefunden ;-)

1

Was möchtest Du wissen?