Reste im Eingabepuffer
-
Hallo!
Also ich bin ganz neu beim Programmieren in C++ (eigentlich ziemlich neu beim Programmieren überhaupt - bis auf Basic-Erfahrungen auf dem C-64 vor 20 Jahren!)
Ich beschäftige mich zur Zeit mit Strukturen und Feldern und habe folgendes Übungsprogramm geschrieben:
#include <iostream> #include <iomanip> using namespace std; struct Person { char Vorname[31]; char Familienname[31]; int Alter; }; Person mitglieder[4]; int main() { Person mitglieder[4]; for (int x=0;x<4;x++) { cout << endl << x+1 << ". Person:" << endl << endl; cout << "Vorname: "; cin.getline(mitglieder[x].Vorname,31); cout << endl << "Familienname: "; cin.getline(mitglieder[x].Familienname,31); cout << endl << "Alter: "; cin >> mitglieder[x].Alter; } }Ich möchte also in einer Schleife insgesamt 4 Personendaten erfassen und diese im jeweiligen Feld speichern. Ab dem 2. Durchlauf wird jedoch die Abfrage nach dem Vornamen übersprungen und beim Familiennamen fortgesetzt. Ich vermute, dass ich bei der Abfrage des Alters
cin >> mitglieder[x].Alter;irgendwas falsch mache und dadurch die nächste Abfrage übersprungen wird, komme aber einfach nicht drauf.
So habe ich mich entschlossen hier zu fragen, obwohl ich natürlich weiß, dass dies eine absolute Anfänger-Frage ist, jedoch ich steh da einfach an und das macht mich wahnsinnig, mein Anfänger-Buch kann mir hier auch nicht weiter helfen.
Gruß
Woodstock[edit by c.rackwitz: thema von "Strukturen" nach "Reste im Eingabepuffer" geaendert und nach C++ verschoben ]
-
Dieser Thread wurde von Moderator/in c.rackwitz aus dem Forum ANSI C in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Mit "cin.ignore();" kannst du die restlichen Zeichen im Eingabepuffer überlesen.
-
Super! Danke!
Damit hat es geklappt!Danke
woodstock