功能
实现一个通讯录;
通讯录可以用来存储1000个人的信息,每个人的信息包括:
姓名、性别、年龄、电话、住址
提供方法:
1. 添加联系人信息
2. 删除指定联系人信息
3. 查找指定联系人信息
4. 修改指定联系人信息
5. 显示所有联系人信息
6. 清空所有联系人
7. 以名字排序所有联系人
代码片
CONTACT.H
#ifndef __CONTACT_H__
#define __CONTACT_H__
#include<stdio.h>
#define MAX 1000
#define NAME_MAX 20
#define SEX_MAX 10
#define TELE_MAX 12
#define ADDR_MAX 20
//枚举对联系人要做的操作
enum OPtion
{
EXIT,//退出程序
ADD,//添加联系人
DEL,//删除联系人
SEARCH,//查询联系人
MODIFY,//修改联系人的信息
SHOW,//打印联系人的信息
CLEAR,//清除联系人的信息
SORT,//排序
};
//联系人信息的结构体
typedef struct PeoInfo
{
char name[NAME_MAX];
int age;
char sex[SEX_MAX];
char tele[TELE_MAX];
char addr[ADDR_MAX];
};
typedef struct Contact
{
struct PeoInfo* _data;
size_t _size;
size_t _capacity;
}Contact, *pContact;//结构体定义的一个指针类型的别名
void InitContact(pContact pc);
void AddContact(pContact pc);
void ShowContact(pContact pc);
void DelContact(pContact pc);
int SearchContact(pContact pc);
void sort_contact(pContact pc);
void ModdifyContact(pContact pc);
void ClearContact(pContact pc);
#endif
people.c
#define _CRT_SECURE_NO_WARNINGS
#include"CONTACT.h"
#include<assert.h>
#include<Windows.h>
#include<string.h>
#include<stdio.h>
//初始化通讯录
void InitContact(pContact pc)
{
assert(pc);
pc->_data = (pContact**)malloc(MAX*sizeof(pContact*));
if (pc->_data == NU