#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Person {
char name[50];
int age;
char gender;
};
int main() {
struct Person *people;
int num_people;
printf("Enter the number of people: ");
scanf("%d", &num_people);
getchar();
people = (struct Person*)malloc(num_people * sizeof(struct Person));
if (people == NULL) {
fprintf(stderr, "Memory allocation failed.\n");
return 1;
}
char line[100];
for (int i = 0; i < num_people; i++) {
printf("Enter information for person %d (Name, Age, Gender):\n", i + 1);
while (1) {
fgets(line, sizeof(line), stdin);
if (sscanf(line, "%49s %d %c", people[i].name, &people[i].age, &people[i].gender) == 3) {
break;
} else {
printf("Invalid input format. Please enter again (Name, Age, Gender):\n");
}
}
}
printf("\nList of people:\n");
for (int i = 0; i < num_people; i++) {
printf("Name: %s\n", people[i].name);
printf("Age: %d\n", people[i].age);
printf("Gender: %c\n", people[i].gender);
}
free(people);
return 0;
}