C Struct - Fehlerhafte for-Schleife



  • Hi, ich bins nochmal. Ich hoffe ich spamme nicht, aber ich habe wieder ein problem. Mein Code macht folgende bildschirmausgabe

    Geben Sie bitte den Namen der 1 Person ein: Frank
    Geben Sie bitte die Nummer der 1 Person ein: 12345
    Geben Sie bitte den Namen der 2 Person ein: Geben Sie bitte die Nummer der 2 Per
    son ein:

    Bei folgendem Code

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    struct daten{
           char Name[20];
           int Nummer[20];
           };
    
    int main(int argc, char *argv[])
    {
      int iLoop;
      struct daten Person[2];
    
      for (iLoop=0; iLoop <2; iLoop++){
          printf("Geben Sie bitte den Namen der %d Person ein: ", iLoop+1);
          gets(Person[iLoop].Name);
          printf("Geben Sie bitte die Nummer der %d Person ein: ", iLoop+1);
          scanf("%d", &Person[iLoop].Nummer);
          //            printf("\n\n");
            //          printf("________________________________________________________________________________");
              //        printf("\n\n");
          }
    
      for (iLoop=0; iLoop <2; iLoop++){
          printf("Der Name der %d Person lautet: %s\n", iLoop+1, Person[iLoop].Name);
                      printf("\n\n");
                      printf("________________________________________________________________________________");
                      printf("\n\n");
          printf("Die Telefonnummer der %d Person lautet: %d", iLoop+1, Person[iLoop].Nummer);
          }
    
      system("PAUSE");	
      return 0;
    }
    

    Er überspringt die Zeile wo ich den Namen der 2 Person eingeben möchte.

    Wäre über Hilfe dankbar.



  • Ich vermute mal dass scanf nicht das Newline extrahiert.


  • Mod

    Doppelpost. Anderer Tread:
    http://www.c-plusplus.net/forum/326413


Anmelden zum Antworten