Eingabeschleife
-
Hi....
Ich hab gerade echte Probleme mit ner Eingabeschleife:
#include <iostream> #ínclude <string> #include <iomanip> using namespace std; int main() { string name[100]; int Personalnummer[100]; int no=0; do { ++no; cout <<"Name >"; getline(cin,Name[no]); cout <<"Personalnummer >"; cin >> Personalnummer[no]; } while(Gut.size()!=0); return 0; }
Die Schleife sollte so lange ausgeführt werden, bis der Benutzer die Eingabe beim "Namen" leer lässt.
In der Bash sollte das dann etwa so aussehen:
*
Name > Herbert
Personalnummer > 1022556
Name > Walter
Personalnummer > 34225
Name> →Eingabe wird vom benutzer leer gelassen und die
schleife wird unterbrochen.Währe toll wenn mir jemand helfen könnte........
thx schon mal.....
-
Servus backgiggy!
Abgesehen davon, dass sich dein Quellcode nicht kompilieren lassen wird, hier ein Beispiel, wie es gehen sollte: (hoffentlich)#include <iostream> #include <string> using namespace std; int main() { string name[100]; string nr[100]; // Habe hier string genommen, kannst du aber problemlos uebertragen unsigned int l = 0; do { cout << "\nName: "; getline(cin, name[l]); if(name[l].size() == 0) break; cout << "\nNr: "; getline(cin, nr[l]); ++l; // erst hier erhoehen, da name[0] & nr[0] sonst leer bleibt. }while(l < 100); return 0; }
Caipi
-
Super......
Danke, echt super Forum hier.......
-
Nur so nebenbei, solltest Du dennoch die Personalnummer als int beibehalten wollen und das mit cin machen wollen :
... cin >> Nummer[no]; cin.clear(); cin.ignore( numeric_limits<streamsize>::max(), '\n'); ...