Zitat Zitat von FeroX1337 Beitrag anzeigen
Nur weiß ich nicht genau was der Befehl "fflush(stdin);" macht, den ohne gehts nicht .
Das darf offiziell niemand wissen:
Zitat Zitat von http://www.utas.edu.au/infosys/info/documentation/C/CStdLib.html#fflush
Effect undefined for input stream.
Tatsache ist, dass man scanf nicht benutzen sollte, da es die böse Angewohnheit hat Zeichen im input buffer zu belassen, obwohl diese bereits zur Auswertung der Ausdrücke in scanf benutzt wurden.

In dem Fall heißt das: scanf liest deine Zahl ein und lässt das \n (Zeilenumbruch; generiert, wenn du ENTER drückst) im input buffer.
Nun kommt fgets, welches genau auf so ein Zeichen wartet um abzubrechen - es findet dieses Zeichen - und (wer hätte es gedacht) bricht ab.

Was fflush(stdin) jedoch auf allen von mir bisher benutzten Systemen getan hat (aber immer im Kopf behalten: es dürfte sich auch anders verhalten), ist den input buffer zu leeren. Damit wartet fgets dann wirklich auf neue Zeichen und liest nicht die ein, die bereits da sind.

Zitat Zitat von FeroX1337 Beitrag anzeigen
Mit welchem Befehl kann ich z.B. auf den 2. Namen zugreifen und diesen willkürlich einer Gruppe zuweisen?
Was für eine Gruppe? Du hast keine Gruppen.