Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- typedef struct{
- char name[30];
- char vorname[30];
- int alter;
- }Person;
- int main()
- {
- int test;
- int i;
- int size = 0;
- Person *personen = (Person *)malloc(size * sizeof(Person)); //dynamically allocate memory on heap for personen
- printf("Wie viele Personen sollen nun eingelesen werden?\n");
- scanf("%d", &size);
- if(personen != NULL)
- {
- printf("Speicherallokation war erfolgreich!\n");
- }
- else
- {
- printf("Nicht genügend Speicher vorhanden!\n");
- return 0;
- }
- for(i = 1; i <=size; i++)
- {
- printf("\nGib nun Name, Vorname und Alter fuer Person %d an: \n", i);
- printf("Name: \n");
- scanf("%s", personen[i].name);
- printf("Vorname: \n");
- scanf("%s", personen[i].vorname);
- printf("Alter: \n");
- scanf("%d", &personen[i].alter);
- }
- for(i = 1; i <=size; i++)
- {
- printf("Daten von Person %d: %s, %s %d Jahre alt. \n", i, personen[i].name, personen[i].vorname, personen[i].alter);
- }
- char zahl;
- printf("\nSollen weitere Personen eingelesen werden? (J/N)\n");
- scanf(" %c", &zahl);
- if(zahl == 'N')
- {
- return 0;
- }
- printf("Wie viele Personen sollen weiterhin eingelesen werden?\n");
- scanf("%d", &size);
- personen = realloc(personen, size*sizeof(Person));
- for(i = 1; i <=size; i++)
- {
- printf("\nGib nun Name, Vorname und Alter fuer Person %d an: \n", i);
- printf("Name: \n");
- scanf("%s", personen[i].name);
- printf("Vorname: \n");
- scanf("%s", personen[i].vorname);
- printf("Alter: \n");
- scanf("%d", &personen[i].alter);
- }
- for(i = 1; i <=size; i++)
- {
- printf("Daten von Person %d: %s, %s %d Jahre alt. \n", i, personen[i].name, personen[i].vorname, personen[i].alter);
- }
- free(personen);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement