Ich bin ein wenig verwirrt, was los ist, ich spiele mit einigen Programmen aus "Accelerated C++" und habe ein Problem mit einem der frühen Programme (Seite 35, falls Sie zufällig ein Exemplar in der Nähe haben).
Er verwendet dieses Snippet:
while (cin >> x) {
++count;
sum += x;
}
("count" ist eine ganze Zahl, "x" ist ein Double)
Es funktioniert wie beabsichtigt und erlaubt mir, mehrere Werte einzugeben und sie zu addieren, aber ich kann nicht herausfinden, was mit der "End-of-file"-Signalisierung falsch läuft. Im Buch steht, dass die Schleife so lange läuft, bis das Programm ein Signal für das Ende der Datei erhält, was unter Windows ctrl+z ist.
Das ist alles in Ordnung und funktioniert, aber dann lässt mich mein Programm nicht mehr cin verwenden. Normalerweise richte ich ein Programm so ein, dass es auf eine Zufallsvariable wartet, um zu verhindern, dass die Konsole sofort nach der Ausführung geschlossen wird (gibt es übrigens einen besseren Weg, das zu tun?), und so habe ich das bemerkt, und ich frage mich, ob es eine Lösung gibt. Ich habe viel gesucht, aber nur wenig gefunden, das nicht das sagt, was schon im Buch steht (ctrl+z drücken oder eine nicht-kompatible Art von Eingabe eingeben usw.)
Ich verwende Visual Studio 2008 Express zum Kompilieren.