静态实现:静态实现通讯录
动态实现的修改处:
1、存储人数的结构体修改
typedef struct mindan {
int num ;
information* everyone;
int size;
}mindan;
2、初始化修改
void Init(mindan* book) {
book->size = 0;
book->num = 20;
book->everyone = (information*)malloc(book->num*sizeof(information));
for (int i = 0; i < book->num; i++) {
strcpy(book->everyone[i].name," ");
strcpy(book->everyone[i].sex, " ");
strcpy(book->everyone[i].number, " ");
strcpy(book->everyone[i].address, " ");
book->everyone[i].age = 0;
}
}
3、增加联系人修改
void AddInformation(mindan* book) {
if (book->size >= MAX_LEN) {
book->num += 20;
information* newper = (information*)malloc(book->num*sizeof(information));
memcpy(newper, book->everyone, book->size*sizeof(information));
free(book->everyone);
}
printf("请输入联系人姓名:\n");
information* p_num =&( book->everyone[book->size]);
scanf("%s", p_num->name);
printf("请输入联系人性别:\n");
scanf("%s", p_num->sex);
printf("请输入联系人地址:\n");
scanf("%s", p_num->address);
printf("请输入联系人号码:\n");
scanf("%s", p_num->number);
printf("请输入联系人年龄:\n");
scanf("%d",&p_num->age);
printf("添加联系人成功!\n");
book->size++;
}