struct....
-
Hallo,
Ich soll eine Struktur schreiben die genau diese Bedienungen erfüllt:
Deklarieren Sie eine Struktur Person, welche folgende Elemente enthält: eine Zeichenkentte Name mit MAXNAME echten Zeichen und Alter vom Typ vorzeichenloser int. Weiters enthält die Struktur einen Array namens Eltern mit zwei Zeigern auf Strukturen vom Typ Person.(Es darf kein typedef verwendet werden.)
Mein Vorschlag:
/* Deklatation braucht man für die beiden Zeigern auf Person */ struct Person; struct Person { char Name[MAXNAME]; unsigned int Alter; struct Person Eltern[1]; }
Ich würde gerne wissen ob das auch Funktioniert.
Danke mfg RoB
-
/* Deklatation braucht man für die beiden Zeigern auf Person */
nö.char Name[MAXNAME+1];
struct Person* Eltern[2];
-
Danke dir vielmals volkard;
struct Person { char Name[MAXNAME+1]; unsigned int Alter; struct Person *Eltern[2]; };
Könntest du mir vieleicht auch noch verraten wie man das mit typedef lösen könnte? (Da muss man vorher was definieren...)
Da ich C neuling bin würde ich auch gerne wissen wie ich jetzt z.B: 3 Personen definieren kann wobei Mami, Papi und nen Sohn oder Tochter....
(Ich werde später aus diesen Kenntnissen eine doppeltverkettete Liste bauen... :D)
-
Könntest du mir vieleicht auch noch verraten wie man das mit typedef lösen könnte? (Da muss man vorher was definieren...)
nach
struct Person { char Name[MAXNAME+1]; unsigned int Alter; struct Person *Eltern[2]; };
mußte man immer schreiben
void personAusgeben(struct Person *p){ printf("%s ist %d Jahre alt.\n",p->Name,p->Alter); }
das hat genervt.
nach
struct PersonTag { char Name[MAXNAME+1]; unsigned int Alter; struct PersonTag *Eltern[2]; }; typedef struct PersonTag Person;
schreib man
void personAusgeben(Person *p){ printf("%s ist %d Jahre alt.\n",p->Name,p->Alter); }
Da ich C neuling bin würde ich auch gerne wissen wie ich jetzt z.B: 3 Personen definieren kann wobei Mami, Papi und nen Sohn oder Tochter....
so ausdauernd bin ich in C nicht.
-
ich danke dir nochmals
-
Tadaaaaaaaaaaa
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXNAME 50 struct Person { char Name[MAXNAME+1]; unsigned int Alter; struct Person *Eltern[2]; }; void print_Person (struct Person *p) { printf("Name:%s, Alter:%i, E1:%s, E2:%s \n", p->Name, p->Alter, (p->Eltern[0])->Name, (p->Eltern[1])->Name); } int main() { struct Person mami, papi, sohn; strcpy(mami.Name, "Mama"); mami.Alter=40; mami.Eltern[0]=NULL; mami.Eltern[1]=NULL; strcpy(papi.Name, "papi"); papi.Alter=40; papi.Eltern[0]=NULL; papi.Eltern[1]=NULL; strcpy(sohn.Name, "sohn"); sohn.Alter=23; *sohn.Eltern=&papi; /*sohn.Eltern[0]=&papi */ sohn.Eltern[1]=&mami; print_Person(&sohn); return 0; }