2016-12-30 4 views
-1

Ist es möglich, den Index eines Vektors von Strukturen zu bekommen? IE Ich habe einen Strukturstudenten mit dem Namen, der Nummer und dem Alter der Mitglieder. Sagen wir, ich habe 5 Studenten, Nelson Nummer 2160482, Louis Nummer 2160483, Mario Nummer 2160484, John Nummer 2160485 und Nicole Nummer 2160486. Ich möchte den Vektorindex jedes Schülers erhalten, wie kann ich das tun?Get Index-Nummer eines Vektors von Strukturen

typedef struct { 
    char name[30]; 
    int number; 
    int age; 
} tStudents; 

tStudents vStudents[]; 

void check_data(tStudents vStudents[], int numStudents) { 
    int n; 

    for (n = 0; n < numStudents; n++) { 
     printf("Students registered with the nr. %i:\n", vSoft[n]);//this doesnt work, any idea how to get this value ? 
     printf("Name: %s\n", vStudents[n].name); 
     printf("Number: %i\n", vStudents[n].number); 
     printf("Age: %i\n", vStudents[n].age); 
    } 
    getchar(); 
} 
+1

was Vektor? wo ist es? –

+0

'das funktioniert nicht' ... bitte erläutern. –

+0

'vSoft [n]' ist nirgendwo in diesem Code definiert. Auch 'tStudents vStudents [];' ergibt keinen Sinn. – UnholySheep

Antwort

1

Ich bin mir nicht sicher, was Ihr Problem ist. Bitte versuchen Sie den folgenden Code, von dem ich hoffe, dass er Ihnen helfen kann.

#include <stdio.h> 
#include <string.h> 

#define nr 5 

typedef struct { 
    char *name; 
    int number; 
    int age; 
} tStudents; 

tStudents vStudents[nr]; 

void check_data(tStudents vStudents[], int numStudents) { 
    int n; 

    for (n = 0; n < numStudents; n++) { 
     printf("Students registered with the nr. %i:\n", n); 
     printf("Name: %s\n", vStudents[n].name); 
     printf("Number: %i\n", vStudents[n].number); 
     printf("Age: %i\n", vStudents[n].age); 
    } 
    getchar(); 
} 

int main() { 

    vStudents[0].name = "Nelson"; 
    vStudents[0].number = 2160482; 
    vStudents[0].age = 12; 

    vStudents[1].name = "Louis"; 
    vStudents[1].number = 2160483; 
    vStudents[1].age = 12; 

    vStudents[2].name = "Mario"; 
    vStudents[2].number = 2160484; 
    vStudents[2].age = 12; 

    vStudents[3].name = "John"; 
    vStudents[3].number = 2160485; 
    vStudents[3].age = 12; 

    vStudents[4].name = "Nicole"; 
    vStudents[4].number = 2160486; 
    vStudents[4].age = 12; 

    check_data(vStudents, nr); 
    return 0; 
} 

-Test

Students registered with the nr. 0: 
Name: Nelson 
Number: 2160482 
Age: 12 
Students registered with the nr. 1: 
Name: Louis 
Number: 2160483 
Age: 12 
Students registered with the nr. 2: 
Name: Mario 
Number: 2160484 
Age: 12 
Students registered with the nr. 3: 
Name: John 
Number: 2160485 
Age: 12 
Students registered with the nr. 4: 
Name: Nicole 
Number: 2160486 
Age: 12 
+0

yeap das ist es, danke und ein tolles neues Jahr! –

Verwandte Themen