Fehler mit der Verwendung von std::getline(std::cin,...)

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
jsut
Beiträge: 1
Registriert: Mi Aug 24, 2016 1:20 pm

Fehler mit der Verwendung von std::getline(std::cin,...)

Beitrag von jsut » Mi Aug 24, 2016 1:32 pm

Hallo proggen.org!

Ich bin dabei, c++ zu üben (Anfänger) und möchte ein Programm schreiben, das ein LGS nach Gauß-Schritten löst.
Dabei stoße ich leider schon ganz zu Beginn auf ein Problem: Hier zunächst die fraglichen Zeilen:

Code: Alles auswählen

int anzahlGleichungen;
	std::cin >> anzahlGleichungen;
	std::vector<std::string> vecStrGleichungen(anzahlGleichungen);	//Die Gleichungen sollen als Strings im  
													//Vektor "vecStrGleichungen" gespeichert werden
	for(int i=0;i<anzahlGleichungen;i++) {
		std::cout << (i+1) << ": ";
		std::getline(std::cin,vecStrGleichungen[i]);
		std::cout << std::endl;
	}
Wenn ich das Programm, so wie es ist, aufrufe, lässt sich der String 1 mit den Koeffizienten gar nicht beschreiben; die erste Zeile bleibt leer und die Eingabe startet bei "2: " (also Index 1).

Was mache ich da falsch? Ich hoffe, dass mir die vermutlich einfache Frage verziehen wird; aus der cpp-Referenz werde ich bisher nicht immer viel schlauer... :?

Im voraus ein herzliches Dankeschön für die Hilfe!
Edit by cloidnerux: Code-Tags

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Fehler mit der Verwendung von std::getline(std::cin,...)

Beitrag von cloidnerux » Mi Aug 24, 2016 1:42 pm

Hallo und Willkommen im Forum,

dein Problem ist etwas Versteckt, aber nichts neues. Lies dir dazu diesen FAQ Eintrag durch, dieser sollte dir helfen:
https://www.proggen.org/doku.php?id=c:faq:input-puffer
Redundanz macht wiederholen unnötig.
quod erat expectandum

Antworten