之前介绍了结构体,这次用结构体来实现一个通讯录
通讯录的功能如下:
1.通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址
2.可以对联系人的信息进行增删改查的操作,以及显示所有联系人的信息
3.可以对联系人进行排序(以名字进行排序)
还是和之前写过的井字棋和扫雷的小游戏一样,依旧是有三个文件,contact.h声明函数,contact.c实现函数,test.c进行测试,那就开始吧
目录
1.创建菜单
通讯录开始显示一个菜单,菜单展示通讯录的各种功能,然后使用者进行选择,如图:
使用者输入数字进入对应的功能,选择0的时候提示退出,输入的数字不再范围内提示输入错误
依旧是使用do...while循环和switch语句来实现,代码如下:
//contact.h文件
#include<stdio.h>
#define NAME 20
#define SEX 5
#define ADDRESS 30
#define TELE 15
#define NUMS 1000
typedef struct information //个人信息的结构体
{
char name[NAME];
int age;
char sex[SEX];
char address[ADDRESS];
char tele[TELE];
}information;
typedef struct Contact //通讯录结构体
{
information data[NUMS];//存储联系人信息
int count;//记录人数,同时在访问时也可作为下标
}contact;
//初始化通讯录
void InitContact(contact* pc);
//contact.c文件
void InitContact(contact* pc)//初始化通讯录
{
assert(pc);
pc->count = 0;
memset(pc->data, 0, sizeof(pc->data));//memste修改制定位置的内容,从数组data首元素地址开始到数组末尾结束全部改成0
}
//test.c文件
void menu()
{
printf("+++++++++++++++++++++\n");
printf("++ 1.add 2.del ++\n");
printf("++ 3.find 4.mod ++\n");
printf("++ 5.show 6.so