Frage zu if..else + Wdh.-Schleife
-
Ich habe ein Problem bei dieser Aufgabe. Sobald zwei mal die gleiche Zahl eingegeben wird, soll eine Fehlermeldung kommen. Bei mir kommt die aber jedes mal und nie das richtige Ergebnis. Ändere ich etwas, rechnet er zwar, aber völlig falsch. Delphi z.B. erkannte die gleichen Zahlen noch .. Visual C++ irgendwie nicht oder ich habe einen großen Denkfehler drin .. komisch ist auch das ich es eigentlich genau nach einer Vorlage gemacht habe?
# include <iostream.h> void main () { double x1,y1,e; cout <<"if .. else Aufgabe" << endl; cout <<"++++++++++++++++++" << endl; cout <<""<< endl; cout <<"Bitte x1 Wert eingeben: "; cin >> x1; cout <<"Bitte y1 Wert eingeben: "; cin >> y1; if (x1 = y1) cout << "Fehler! Es wurden zwei gleiche Zahlen eingegeben" << endl; else { =(x1+y1); cout <<"Das Ergebnis lautet: " << m << endl; }}
Und mit was für einer Schleife könnte man das Programm ohne Abbruch des den Rechenvorgang mit neuen Zahlen wiederholen lassen - und das man zum Beenden z.B. ein E eingeben muß?
Ich hoffe auf eure Hilfe! Gruß Mark
-
sorry, hatte noch 2 fehler drin
# include <iostream.h> void main () { double x1,y1,m; cout <<"if .. else Aufgabe" << endl; cout <<"++++++++++++++++++" << endl; cout <<""<< endl; cout <<"Bitte x1 Wert eingeben: "; cin >> x1; cout <<"Bitte y1 Wert eingeben: "; cin >> y1; if (x1 = y1) cout << "Fehler! Es wurden zwei gleiche Zahlen eingegeben" << endl; else { e=(x1+y1); cout <<"Das Ergebnis lautet: " << e << endl; }}
-
es müsste heissen:
if (x1==y1)
x1=y1 ist eine zuweisung...
-
lol .. wie dumm ^^
danke, jetzt geht's
noch eine idee für die ergänzung?
-
Allerdings,
1.) vergleiche NIEMALS Gleitkommazahlen auf ==. Spätestens nach einigen
Rechenschritten wird dir auffallen das auch Ergebnisse die gleich sein sollten
es plötzlich nicht mehr sind.2.) void main() war mal, ist heute jedoch falsch und muss int main() heissen.
3.) <iostream.h> war mal, ist heute jedoch ungebräuchlich und sollte durch
<iostream> und Verwendung des namespace std ersetzt werden.
-
Redhead schrieb:
2.) void main() war mal, ist heute jedoch falsch und muss int main() heissen.
war afaik sogar nie.