【问题描述】:
用结构体相关内容来实现一个通讯录,通讯录中每个联系人信息包括:姓名、性别、年龄、电话、住址
用一个结构体来完成描述的工作:
typedef struct PersonInfo {
char name[1024];//姓名
char sex[1024];//性别
char age[1024];//年龄
char phone[1024];//电话
char address[1024];//住址
}PersonInfo;
通讯录可以用一个结构体来完成所有联系人的信息管理:
typedef struct AddressBook {
PersonInfo persons[MAX_PERSON_INFO_SIZE];//最大可存储1000人信息
int size;//[0,size)
}AddressBook;
【实现功能】:
-
添加联系人信息 AddPersonInfo()
-
删除指定联系人信息 DelPersonInfo()
-
查找指定联系人信息 FindPersonInfo()
-
修改指定联系人信息 UpdatePersonInfo()
-
显示所有联系人信息 PrintAllPersonInfo()
-
清空所有联系人 ClearAllPersonInfo()
-
以名字排序所有联系人 SortPersonInfo()
-
保存联系人到文件 FileSavePersonInfo()
-
加载联系人LoadPersonInfo()
【实现代码】:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define FILE_TXT "D:/文档/test.txt"
#define MAX_PERSON_INFO_SIZE 1000
typedef struct PersonInfo {
char name[1024];//姓名
char sex[1024];//性别
char age[1024];//年龄
char phone[1024];//电话
char address[1024];//住址
}PersonInfo;
typedef struct AddressBook {
PersonInfo persons[MAX_PERSON_INFO_SIZE];//最大可存储1000人信息
int size;//[0,size)
}AddressBook;
AddressBook g_address_book;
void Init() {//使用前先进行初始化
g_address_book.size = 0;
for (int i = 0; i < MAX_PERSON_INFO_SIZE; ++i) {
g_address_book.persons[i].name[0] = '\0';
g_address_book.persons[i].sex[0] = '\0';
g_address_book.persons[i].age[0] = '\0';
g_address_book.persons[i].phone[0] = '\0';
g_address_book.persons[i].address[0] = '\0';
}
}
int Menu() {
printf("==============