nicht verstandene Beispielprogramme 1
-
Ich ahbe bei dem Versuch Aufgaben zu lösen bemerkt, dass mir Grundlegende Kenntnisse fehlen.
Es wurden Beispielprogramme gegeben, aber mit zu wenigen Erklärungen, und wenn ich welche fand, so waren sie für mich unverständlich. Zum anderen funktionieren einige Programme nicht, weshalb ich sie euch gerne mal zeigen möchte.
Als erstes Ein Programm, welches Zahlen aus einer Datei Summe.txt addiert:11 22 33 4 10 20#include <fstream> #include <iostream> using namespace std; main() { int summe = 0; int zahl; ifstream fin; fin.open("summe.txt"); if (!fin) cerr << "Datei kann nicht geoeffnet werden!\n"; else { while (fin >> zahl) summe += zahl; cout << "Summe: " << summe << endl; } fin.close(); }Ich verstehe die Anweisung
while (fin >> zahl)nicht. Wie genau werden die Zahlen addiert?
Wenn ich in Summe.txt einen Buchstaben dazwischen setze, wird dort abgebrochen, die danach folgenden Zahlen nicht weiter addiert.
Habe nirgends eine ähnliche Anweisung gefunden, die Operatoren haben ja nun auch verschiedene Bedeutungen. Was bedeutet in diesem Fall>>?
weitere Programme folgen.
-
> ist für IO-Streams überladen und liest einen Wert in die Variable ein (wenn er die nächsten Eingaben interpretieren kann). Bei einem Fehler* wird der Stream in einen Fehlerstatus versetzt - und dank einer impliziten Umwandlung nach bool wird dadurch die while()-Schleife abgebrochen.
* und Buchstaben beim Einlesen eines int sind ein Eingabefehler
