Ich bin ein Absolute Anfänger arbeiten durch Stroustrup 'Programming Principles and Practice' Buch.Ende der Datei Eingabe funktioniert nicht
In Kapitel 4 wurde die Eingabe des Dateiendes eingeführt; Strg-D, die an früheren Code-Schnipsel funktioniert hat. Der Code, an dem ich gerade arbeite, ist dieses einfache Vektorbeispiel.
Ich glaube, Ctrl-D sollte die Range-for-Schleife verlassen und dann die Berechnungen, aber dies funktioniert nicht. Ich kann das Programm nur verlassen und keine Ergebnisse sehen, über Strg-Z (gestoppt), Strg-C oder die | -Taste (Pipe) -Symbol, irgendetwas anderes setzt einfach die Eingangsschleife fort.
Ich bin auf Linux mit einem Terminal-Emulator (Terminator) zum Schreiben, Ausführen und Kompilieren. Ich habe den gleichen Code in Code :: Blocks versucht und die Ausgabe ist genau das gleiche.
Bitte; Wie kann ich aus der Eingangsschleife ausbrechen?
#include "std_lib_facilities.h" //provided PPP header file
int main()
{
vector<double>temps;
for (double temp; cin >> temp;) //get stuck in here
temps.push_back(temp);
double sum=0; //want to get to here
for (double x : temps) sum += x;
cout << "Average temperature: " << sum/temps.size() << endl;
sort(temps.begin(),temps.end());
cout << "Median temperature: " << temps[temps.size()/2] << endl;
}
Drücken Sie Strg + D nach der Eingabe alles, was Sie wollen – GMichael
haben Sie versucht, mit einem anderen Terminal-Emulator? – perencia
Strg + D funktioniert nicht. Ich habe das auch in Xterm und Xfce4 Terminal versucht, das gleiche Ergebnis. Ich habe sogar eine andere Tastatur ausprobiert, um zu bestätigen, dass ich nicht verrückt werde. gleiches Ergebnis. –