Also, ich habe vorhin bei C++ versucht, mich etwas mit den Funktionen, Variablen und if-Anweisungen auseinanderzusetzten, bin dann aber auf zwei kleine Probleme/Fragen gestossen. Die erste betrifft die Funktionen, bei denen mit etwas noch nicht ganz klar ist. Ich habe als Beispiel folgenden Code geschrieben:
Mein Ziel ist es bei diesem Beispiel, mit der Funktion 2 beliebige Zahlen zu addieren. Wenn die Funktion zum Einsatz kommt, sollte dann ganz einach der Text:
Was gibt 100 plus 1 ?
Genau: 100 plus 1 gibt 101
In Zeile 15 soll dann diese Funktion zum auftreten. Wenn ich jedoch nicht
schreibe, sondern nur dann wird das Resultat, bzw. das Ergebnis der Addition nicht angezeigt. Und wenn ich wiederrum eine dritte Möglichkeit wie probiere (also die Funktion Addition noch an den davorstehenden Satz anschliesse) dann kommt folgendes Ergebnis
Dies ist ein simples kleines Programm, welches Was gibt 100 plus 1
Genau: 100 plus 1 gibt zwei Zahlen zu addieren.
Nun zu meiner Frage:
Wie ich ja selbst bemerkt habe, funktioniert das ganze also nur, wenn ich vor der Funktion noch ein std::cout << "" << hinschreibe. Aber warum? Wieso wird das Ergebnis bei der einfachen Abfrage einer Funktion nicht angezeigt, und wieso wird die Abfolge der einzelnen Sätze bei std::cout << "2 Zahlen zu addieren << addition(100,1) vertrauscht?
So, das wäre mal die erste Frage gewesen. Nun zum zweiten, etwas einfacheren Problem, das die if-Anweisung betrifft. Dazu ebenfalls erstmal das Codebeispiel:
Mein Ziel hierbei ist es, dass man 2 Zahlen eingeben muss, und danach das Resultat aus der Addition der beiden Zahlen angeben soll. Hat man beide Zahlen richtig zusammengezählt, steht "Richtig!", hat man sie falsch addiert, steht "Falsch!". Das eigentliche Problem liegt theoretisch nicht einmal in der if-Anweisung, sondern eher in std::cin.get();. Mit der if-Anweisung möchte ich abfragen, ob der Benutzer die Zahlen richtig addiert hat. Wenn die dementsprechende Richtig- oder Flaschmeldung angezeigt wird, soll das Programm auf irgendeine Eingabe warten, bevor es einfach Abbricht, nachdem der Code fertig ist. Wenn man jetzt beide Zahlen richtig zusammengezählt hat, besteht soweit kein Problem, und es wird wie vorgesehen "Richtig" angezeigt, und auf ein Tastendruck gewartet. Bei "Falsch" jedoch nicht. Sind beide Zahlen nicht richtig zusammengezählt, bricht das Programm einfach ab (ich vermute einfach dabei, es liegt an irgendwiestd::cin.get();). Meine Frage hierbei ist einfach, ob ich grundsätzlich etwas mit der if-Anweisung falsch mache, oder was sonst der Verursacher für die Missachtung(?) des std::cin.get(); ist.
So, nach dem ich nun meine 2 Probleme in den bis jetzt optisch längst verfassten Post von mir zusammengefasst habe, hoffe ich ihr versteht in etwa meine Erklärungen, und könnt mir da weiterhelfen.